On Tue, Jul 18, 2023 at 06:49:26PM +0300, Binyamin Dissen wrote:
> I am trying to do the equivalent of TSOLIB for BATCH, i.e., dynamically adding
> loadlibs. I do not have spare parent tasks that I can hang a JLB DCB.

> Does reaching TCBJSTCB stop the search of the JLBs?

from MVS3.8 source of IEAVLK01

*        3. IN PERFORMING THE LINKAGE A SPECIFIC ORDER IS FOLLOWED
*           IN SEARCHING FOR AND DETERMINING THE LOAD MODULE TO  
*           WHICH LINKAGE IS DESIRED.                            
*              A. THE CONTENTS DIRECTORY ENTRIES (CDES) FOR LOAD 
*                 MODULES CONTAINED IN THE JOB PACK AREA ARE     
*                 SEARCHED FOR AN ENTRY CONTAINING THE SPECIFIED 
*                 ENTRY POINT NAME (IN IEAVLK00).                
*              B. IF THE DCB OPERAND WAS WRITTEN IN THE MACRO    
*                 INSTRUCTION, THE SPECIFIED LIBRARY IS SEARCHED 
*                 ( IN IEAVLK01).                                
*              C. IF THE DCB OPERAND WAS OMITTED IN THE MACRO    
*                 INSTRUCTION, THE JOB LIBRARIES FOR ASCENDING   
*                 ORIGINATING TCB'S (IF JOB LIBS EXIST) ARE SEARCHED
*                 UNTIL THE JOBSTEP TCB'S JOBLIB IS SEARCHED (IN   
*                 IEAVLK01)                                        
*              D. THE CONTENTS DIRECTORY ENTRIES FOR LOAD MODULES   
*                 CONTAINED IN THE ACTIVE LINK PACK AREA ARE SEARCHED 
*                 FOR AN ENTRY CONTAINING THE SPECIFIED ENTRY POINT   
*                 NAME, VIA CDSEARCH IN IEAVLK00.                    
*              E. THE PAGEABLE LINK PACK AREA IS SEARCHED VIA        
*                 IEAVVMSR IN IEAVLK00.                              
*              F. THE LINK LIBRARY IS SEARCHED IN IEAVLK01.     

code from IEAVLK01:

STEPUP   C     R1,TCBJSTCB             Q.JOB STEP TCB HANDLED      
         BE    CDFILIN                 YES SEARCH LPAQ            
         L     R1,TCBMOTH(R1)          STEP UP TCB CHAIN         
         SPACE 1                                                
*  SINCE THE DCB ADDRESS IS PROPOGATED DOWNWARD, A ZERO ADDRESS 
*    MEANS THAT THERE ARE NO MORE LIBS TO SEARCH.              
         SPACE 2                                              
*/* P SET DCBREG = TASKLIB DCB OF NEW TCB (R10= TCBJLB)*/    
*/* D (YES,CDFILIN,NO,) DCB FIELD = 0? (R10=0) */           
         SPACE 2                                           
         ICM   DCBREG,MASK4,TCBJLBDI(R1) TEST FOR ZERO ADDR AND PICK 
*                                      UP NEXT DCB POINTER          
         BZ    CDFILIN                 NONE LEFT TO CHECK          
         SPACE 2                                                  
*/* D (YES,STEPUP,NO,) DCB ALREADY CHECKED (R10= WKDCBSE) */     
         SPACE 2                                                
         C     DCBREG,WKDCBSE          SAME AS LAST ONE DONE   
         BE    STEPUP                  IF SO GET NEXT        

What are dsects for?:

         IKJTCB                                                     
TCBJLBDI EQU   TCBJLB-TCB          DISPLACEMENT IN TCB OF DCB ADR. 
TCBMOTH  EQU   TCBOTC-TCB          DISPLACEMENT IN TCB OF MOTHER  
TCBJSEZ  EQU   TCBJPQ-TCB          OFFSET TO JPAQ                
TASKLIB  EQU   TCBJLB-TCB          TASKLIB DCB FIELD IN TCB     
TASKSTEP EQU   TCBJSTCA-TCB            EQUATE FOR JSTCB        

 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to