Batch applications often use jobs to launch driver utilities that start other programs. If you want to model the relationship between jobs and these kinds of programs, you need to define entries that identify the programs in the <JCL> <BatchProgs> section of \<Enterprise Analyzer Home>\Data\Legacy.xml.
<BatchProgs> entries have the form:
<item> <driver_utility>,PARM|DD*|DSN,<search_value>
where:
The PARM option searches for the name of the program of interest in the PARM= parameter of the EXEC statement. You can also use it to find the PSB name for an IMS application. The syntax is:
PARM,<prg_parm_num>[,%P,<psb_parm_num>,%B]
where:
The value is either a string literal, with parameters separated by blanks or by commas, or a list of comma-separated parameters enclosed in brackets.
For example, the entry:
<item> IKJEFT01,PARM,3 </item>
identifies the programs APPPRG1 and APPPRG in the following code fragment:
//step1 EXEC PGM=IKJEFT01, // PARM='APP DB2P APPPRG1 APPPRG1L' //SYSTSIN DD DUMMY,DCB=BLKSIZE=80 //step2 EXEC PGM=IKJEFT01,REGION=2048K,DYNAMNBR=20, // PARM=('APP',DB2P,APPPRG2,APPPRG2L) //SYSTSIN DD DUMMY,DCB=BLKSIZE=80
For IMS:
<item> DFSRRC00,PARM,2,%P,3,%B </item>
identifies the program IMSPRG1 and the PSB PSBM1 in the following code fragment:
// EXEC PGM=DFSRRC00,REGION=2048K, // PARM=(DLI,IMSPRG1,PSBM1,7,0000,,0,,N,0,T,0,,N,,,N)
The DD* option searches for the name of the program of interest in the instream data of a DD statement. You can also use it to find Natural library names. The syntax is:
DD*,<dd_name>,<search_string>[%L] %P[+] [,%?]
where:
For example, the entry:
<item> IKJEFT01,DD*,SYSTSIN,RUN PROGRAM(%P) </item>
identifies the programs MYPRG1 and MYPRG3 in the following code fragment:
//step4 EXEC PGM=IKJEFT01 //SYSTSIN DD * RUN PROGRAM(MYPRG1) qqq /* //step5 EXEC PGM=IKJEFT01 //SYSTSIN DD * PROFILE PREFIX(C34) DSN SYSTEM(DSN) RETRY(0) TEST(0) RUN PROGRAM(MYPRG3) PLAN(MYPLAN) - LIB('CO737.PDS.MCPBR2.LOAD') -
For Natural:
<item> ADANATV3,DD*,CMSYNIN,LOGON %L %P+ </item>
identifies the library MYLIB and the programs MYNAT1 and MYNAT2 in the following code fragment:
//S040 EXEC PROG=ADANATV3 //CMSYNIN DD * LOGON MYLIB MYNAT1 MYNAT2
The DSN option searches for the name of the program of interest in the DSN name of a DD statement. The syntax is:
DSN,<dd_name>,<search_string>%P
where:
For example, the entry:
<item> IKJEFT01,DSN,SYSTSIN,RUNCARDS(%P) </item>
identifies the programs PROG1 and PROG2 in the following code fragment:
///step8 EXEC PGM=IKJEFT01 //SYSTSIN DD DSN=SYS.DP.TE.RUNCARDS(PROG1),DISP=SHR //step9 EXEC PGM=IKJEFT01 //SYSTSIN DD DSN=RUNCARDS(PROG2),DISP=SHR