In this article, I tried to outline the steps that zOS would proceed to get to the proclib concatenation for JES2 and I have also listed few more details on STARTED task proclibs too and how we can list the proclib concatenation.
We can easily identify the PROCLIB dataset from where a STC is started looking into the JESSYSMSG DD in the STC log. But do we know or understand how JES2 determined to pick the proc from that PARTICULAR dataset.
1. Find the loadxx
/d iplinfo D IPLINFO IEE254I 02.50.19 IPLINFO DISPLAY 869 SYSTEM IPLED AT 11.54.03 ON 01/31/2019 RELEASE z/OS 02.01.00 LICENSE = z/OS USED LOADT1 IN SYS5.IPLPARM ON 05204 ARCHLVL = 2 MTLSHARE = N IEASYM LIST = (00,L) IEASYS LIST = 0T (OP) IODF DEVICE: ORIGINAL(xxxx) CURRENT(xxxx) IPL DEVICE: ORIGINAL(xxxx) CURRENT(xxxx) VOLUME(xxxxxx)
2. find the parmlib concat
db2_sql_count_avg_sum_functions D PARMLIB IEE251I 02.51.20 PARMLIB DISPLAY 878 PARMLIB DATA SETS SPECIFIED AT IPL ENTRY FLAGS VOLUME DATA SET 1 S ZSYxxx SYS9.SHARED.PARMLIB.PLEX2 2 D xxx980 SYS1.PARMLIB 3 S SxxxxB SYS1.IBM.PARMLIB
3. look for IEASYSxx : from iplinfo in parmlib concat
4. Look for MSTR=xx :
in IEASYS00 and IEAYSxx from the option in LOADxx here IEASYS0T -- the value would be the one that is found last. Searches in 00,0T. It looks for parm MSTR=xx and based on the xx it looks for MSTJCLxx in the parmlib concatenation. If not found then it looks for MSTJCL00 or MSTJCLxx in LINKLIST concatenation. You can check your IPL syslog and look for the statements in MSTJCLxx proc. There is no default MSTJCLxx parmlib member. The default master JCL resides in the IBM-supplied MSTJCL00 module in SYS1.LINKLIB.
5. look for IEFPDSI / IEFJOBS DD in MSTJCLxx:
the DD that points to proclib concatenation for procs started under mastr.IEFJOBS is searched first and then IEFPDSI. When a start command is issued. Mostly the jobs are placed in IEFJOBS dd and Procedures are placed in IEFPDSI DD. Note that JES2 could be another name, perverse but true! Example, say the PROC name is JESA, and its started via the following command: S JESA,SUB=MSTR,JOBNAME=JES2 In which case you would need to research the JCL PROC for JESA and *NOT* JES2.
6. look for JES2 proc in the DATASET concatenation of the IEFPDSI and IEFJOBS:
Check for JES2 proc in the IEFPDSI concatenation.In the member pointing to JES2PARM member look for PROC00 and PROC01 statementnts for PROCLIB concatenations that JES2 uses for procedures. Check The parm JOBCLASS(STC) or JOBCLASS(TSU) and look for PROC value. It refers to the DD of PROCLIB that would be used for starting the tasks when a START xxxx commands is issued.
Thats how I check for PROCLIB concatenation.
With zOS 2.1 and above you can also Issue the commands
$D PROCLIB -- to get the proclib concatenation. you can just issue this command to get the proclib concatenation. $dproclib $HASP319 PROCLIB(PROC01) DD(1)=(DSNAME=SYS1.PROCLIB), $HASP319 DD(2)=(DSNAME=TEST.PROCLIB) $HASP319 PROCLIB(PROC02) DD(1)=(DSNAME=SYS1.PROCLIB), $HASP319 DD(2)=(DSNAME=TEST.PROCLIB) $D jobclass(stc),proclib you can issue this command to identify the proclib concatention that JES2 uses to search for a stc while starting. $D JOBCLASS(STC),PROCLIB $HASP837 JOBCLASS(STC) PROCLIB=00 In this system JES2 would look into PROC00 parm in JES2 for the proclib concatenation and seraches those libraries for starting a JES2 STC.
Would you like to publish your Articles on IBMMainframer Community? Submit here