1 / 32

JCL DAY 2

JCL DAY 2. EXEC STATEMENTS. PGM COND PROC PARM ACCT REGION ADDRSPC TIME PERFORM. IMPORTANT EXEC PARAMETERS positional parameters (PGM & PROC). ex. //STEP1 EXEC PGM=IEFBR14.

masao
Download Presentation

JCL DAY 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JCL DAY 2 ER/CORP/CRS/OS02/003-2

  2. EXEC STATEMENTS PGM COND PROC PARM ACCT REGION ADDRSPC TIME PERFORM ER/CORP/CRS/OS02/003-2

  3. IMPORTANT EXEC PARAMETERS positional parameters (PGM & PROC) ex. //STEP1 EXEC PGM=IEFBR14 ex. //STEP1 EXEC PROC=MYPROC • The PGM parameter identifies the name of the program that is • to be executed. • The PROC parameter identifies the name of the procedure that is • to be called. ER/CORP/CRS/OS02/003-2

  4. SEARCH SEQUENCE OF A PROGRAM JOB PACK AREA PAGEABLE LINK PACK AREA (PLPA) JOB LIBRARY / STEP LIBRARY FIXED LINK PACK AREA - FLPA SYS1.LINKLIB PGM NOT FOUND MODIFIED LINK PACK AREA - MLPA ER/CORP/CRS/OS02/003-2

  5. MVS 370 memory map Virtual Storage 16 MB SQA PLPA Common area CSA Unallocated storage Private area User Region SWA System Region System area Nucleus ER/CORP/CRS/OS02/003-2 0 MB

  6. IMPORTANT EXEC PARAMETERS keyword parameters (PARM) ex. //STEP1 EXEC PGM=IEBUPDT,PARM=MOD • The PARM parameter is used to supply information to a program • as it executes. ER/CORP/CRS/OS02/003-2

  7. IMPORTANT EXEC PARAMETERS keyword parameters (ADDRSPC) ex. //STEP1 EXEC PGM=IEBUPDT, // ADDRSPC=VIRT • The ADDRSPC parameter is to indicate to the system that the job • step is to use either VIRT (virtual) or REAL (real) storage. • By default it is virtual. ER/CORP/CRS/OS02/003-2

  8. IMPORTANT EXEC PARAMETERS keyword parameters (COND) ex. //STEP3 EXEC PGM=IEBUPDT,COND=(8,LE,STEP1) • The COND Permits the execution of steps to depend on the • return code from the previous steps. • The question should be is 8 less than the RC code of STEP1. • If Yes then Bypass STEP3 • If No Execute STEP3 • The COND parameter is also a JOB parameter. ER/CORP/CRS/OS02/003-2

  9. IMPORTANT EXEC PARAMETERS keyword parameters (COND) TRUE COND = BYPASS FALSE EXECUTE ER/CORP/CRS/OS02/003-2

  10. COND parameter in detail Only code in the exec statement not in job statement Format : COND=( 0/4/6/8/12/16 , GT/GE/LT/LE/EQ/NE , step name , EVEN/ONLY ) RC comparison code (0 - 4095) Condition EVEN : step will be executed even if previous steps terminate abnormally ONLY : step will be executed only if previous steps terminate abnormally. ER/CORP/CRS/OS02/003-2

  11. COND parameter examples (in JOB statement) 000100 //INF6244A JOB COND=(4,LT) 000200 //STEP1 EXEC PGM=IEFBR14 000300 //STEP2 EXEC PGM=IFBR14 000400 //STEP3 EXEC PGM=IEFBR14 • STEP1 executes with RC = 0 • STEP2 executes with RC *S806 that is it is greater than 4 • Job terminates ER/CORP/CRS/OS02/003-2

  12. COND parameter examples (in EXEC statement) 000100 //INF6244A JOB 000200 //STEP1 EXEC PGM=IEFBR14 000300 //STEP2 EXEC PGM=IEFBR14,COND=(0,EQ,STEP1) • STEP1 executes with RC = 0 • STEP2 does not execute ER/CORP/CRS/OS02/003-2

  13. COND parameter examples (in EXEC statement) 000100 //INF6244A JOB 000200 //STEP1 EXEC PGM=IEFBR14 000300 //STEP2 EXEC PGM=IEFBR14,COND=ONLY • STEP1 executes with RC = 0 • STEP2 does not execute 000100 //INF6244A JOB 000200 //STEP1 EXEC PGM=IFBR14 000210 //STEP2 EXEC PGM=IEFBR14 000220 //STEP3 EXEC PGM=IEFBR14,COND=ONLY • STEP1 abends with RC = *S806 • STEP2 does not execute ( if a single step abends all other steps • are bypassed if no COND statement is there ) • STEP3 executes with RC = 0 ER/CORP/CRS/OS02/003-2

  14. COND parameter examples (in EXEC statement) 000100 //INF6244A JOB 000210 //STEP1 EXEC PGM=IEFBR14 000300 //STEP2 EXEC PGM=IEFBR14,COND=EVEN • STEP1 executes with RC = 0 • STEP2 executes with RC = 0 000100 //INF6244A JOB 000200 //STEP1 EXEC PGM=IFBR14 000210 //STEP2 EXEC PGM=IEFBR14 000220 //STEP3 EXEC PGM=IEFBR14,COND=EVEN • STEP1 abends with RC = *S806 • STEP2 does not execute ( if a single step abends all other steps • are bypassed if no COND statement is there ) • STEP3 executes with RC = 0 ER/CORP/CRS/OS02/003-2

  15. COND parameter examples (in EXEC statement) //INF6244A JOB //STEP1 EXEC PGM=IEFBR14 //STEP2 EXEC PGM=IEFBR14 //STEP3 EXEC PGM=IEFBR14, // COND=((0,NE,STEP2),ONLY) • STEP1 executes with RC = 0 • STEP2 executes with RC = 0 000100 //INF6244A JOB 000200 //STEP1 EXEC PGM=IEFBR14 000210 //STEP2 EXEC PGM=IEFBR14 000220 //STEP3 EXEC PGM=IEFBR14, 000230 // COND=((0,NE,STEP2)) • STEP3 does not execute • STEP1 executes with RC = 0 • STEP2 executes with RC = 0 • STEP3 executes with RC = 0 ER/CORP/CRS/OS02/003-2

  16. COND parameter examples (in EXEC statement) 000100 //INF6244A JOB 000200 //STEP1 EXEC PGM=IEFBR14 000210 //STEP2 EXEC PGM=IEFBR14 000220 //STEP3 EXEC PGM=IEFBR14, 000230 // COND=((0,NE,STEP2),(0,NE,STEP1)) • STEP1 executes with RC = 0 • STEP2 executes with RC = 0 000100 //INF6244A JOB 000200 //STEP1 EXEC PGM=IEFBR14 000210 //STEP2 EXEC PGM=IEFBR14 000220 //STEP3 EXEC PGM=IEFBR14, 000230 // COND=((0,NE,STEP2),(0,EQ,STEP1)) • STEP3 executes with RC = 0 • STEP1 executes with RC = 0 • STEP2 executes with RC = 0 • STEP3 does not execute ER/CORP/CRS/OS02/003-2

  17. COND parameter examples (STEP overriding JOB) 000100 //INF6244A JOB COND=(0,NE) 000200 //STEP1 EXEC PGM=IEFBR14 000210 //STEP2 EXEC PGM=IEFBR14 000220 //STEP3 EXEC PGM=IEFBR14 • STEP1 executes with RC = 0 • STEP2 executes with RC = 0 • STEP3 executes with RC = 0 000100 //INF6244A JOB COND=(0,NE) 000200 //STEP1 EXEC PGM=IEFBR14 000210 //STEP2 EXEC PGM=IEFBR14 000220 //STEP3 EXEC PGM=IEFBR14,COND=(0,EQ,STEP2) • STEP1 executes with RC = 0 • STEP2 executes with RC = 0 • STEP3 executes with RC = FFLUSH ER/CORP/CRS/OS02/003-2

  18. IMPORTANT EXEC PARAMETERS keyword parameters (IF/THEN/ELSE/ENDIF) ex. // IF (STEPA.RC GE 4) THEN //jcl statements // ELSE //jcl statements // ENDIF • The IF/THEN/ELSE/ENDIF statement construct provides a simple • means of selectively executing job steps. • It is available in Release 4 or later , of MVS/ESA and eliminates • the need to struggle with the COND parameter. ER/CORP/CRS/OS02/003-2

  19. IF/THEN/ELSE/ENDIF parameter examples 000100 //INF6244A JOB 2933100P,AMLAN,MSGCLASS=A,CLASS=A 000120 //STEP1 EXEC PGM=IEFBR14 000121 // IF (STEP1.RC GT 0) THEN 000130 //STEP3 EXEC PGM=IEFBR14 000150 //DD1 DD DSN=INF6244.TRUE.PS,DISP=(NEW,CATLG), 000160 // VOL=SER=INUSR2, 000170 // SPACE=(TRK,(1,1)), 000180 // DCB=(LRECL=80,BLKSIZE=800,RECFM=FB) 000190 // ELSE 000191 //STEP4 EXEC PGM=IEFBR14 000200 //DD2 DD DSN=INF6244.FALSE.PS,DISP=(NEW,CATLG), 000300 // VOL=SER=INUSR2, 000400 // SPACE=(TRK,(1,1)), 000500 // DCB=(LRECL=80,BLKSIZE=800,RECFM=FB) 000600 // ENDIF 000610 /* STEPNAME PROCSTEP RC STEP1 00 STEP3 FLUSH STEP4 00 ER/CORP/CRS/OS02/003-2

  20. COMMON keyword PARAMETERS in JOB & EXEC TIME COND REGION ER/CORP/CRS/OS02/003-2

  21. DD STATEMENTS ddname DD * VOL DATA DCB SYSOUT DSN DUMMY UNIT DLM DISP SYSUDUMP SYSMDUMP SYSABEND REFERBACK JOBLIB STEPLIB ER/CORP/CRS/OS02/003-2

  22. DSN • The name of the data set • Simple Name : 1 to 8 chars • Qualified Name : separated by periods • each name 1 to 8 chars • total 44 characters including periods • Temporary data sets : &&TEMP or do not mention DSN • parameter • Refer back : DSN=*.STEP1.DD1 ER/CORP/CRS/OS02/003-2

  23. DISP NEW ,DELETE ,DELETE OLD ,KEEP ,KEEP DISP= SHR ,CATLG ,CATLG MOD ,UNCATLG ,UNCATLG ,PASS ER/CORP/CRS/OS02/003-2

  24. DCB LRECL=n (VALUE IN BYTES) RECFM=(F/FB/V/VB/U) BLKSIZE= multiple of LRECL DSORG=(PS/PO/DA) ER/CORP/CRS/OS02/003-2

  25. SPACE SPACE=(space units,(primary,secondary,dir),RLSE) space unit - TRK(tracks)/CYL(cylinders)/BLOCKSIZE in bytes eg: SPACE=(1024,(100,200) SPACE=(TRK,(10,5) - allocate 10 tracks primarily and if required as secondary allocation 5 tracks ER/CORP/CRS/OS02/003-2

  26. UNIT • Hardware address • Type • Group // UNIT=0320 OR // UNIT=3390 OR // UNIT=SYSDA To use the same unit that has been used by prior DD statement // UNIT=AFF=ddname ER/CORP/CRS/OS02/003-2

  27. VOL • It is used to specify a disk volume or specific tapes. // VOL=SER=INUSR2,UNIT=SYSDA To referback a volume used by some prior DD statement use: // VOL=REF=ddname ER/CORP/CRS/OS02/003-2

  28. SYSOUT • SYSOUT is used to route output to a device. // DDNAME DD SYSOUT=CLASS // DDNAME DD SYSOUT=A If you want to send the output to the same device described by MSGCLASS of the job use // DDNAME DD SYSOUT=* ER/CORP/CRS/OS02/003-2

  29. JOBLIB STATEMENTS ex. //INFOSYS1 JOB //JOBLIB DD DSN=INFOSYS.COMPLIB.LOAD, • // DISP = (what should be the disposition) • // DISP = SHR • //STEP1 EXEC PGM=INHOUSE • The JOBLIB statement defines the library where the program is • residing. It is placed after the JOB statement and is effective for • every JOB steps. ER/CORP/CRS/OS02/003-2

  30. STEPLIB STATEMENTS ex. //STEP1 EXEC PGM=INHOUSE //STEPLIB DD DSN=INFOSYS.COMPLIB.LOAD, • // DISP = (what should be the disposition) • // DISP = SHR • The STEPLIB statement defines the library where the program is • residing. It is placed after the EXEC statement and is effective for • that particular step and overrides any JOBLIB statement. ER/CORP/CRS/OS02/003-2

  31. The first JCL to create a PS. //AMLANX JOB 1234,AMLAN,CLASS=A,MSGCLASS=(1,1) TO CREATE PS //STEP1 EXEC PGM=IEFBR14 //PS1 DD DSN=AMLAN.FLOWER.ROSE,UNIT=SYSDA,VOL=SER=INUSR2, // DCB=(LRECL=80,RECFM=FB,BLKSIZE=800),SPACE=(TRK,(1,1)), // DISP=(NEW,CATLG) ER/CORP/CRS/OS02/003-2

  32. That’s all for DAY 2 ER/CORP/CRS/OS02/003-2

More Related