MTM2016 Part2

Master The Mainframe 2016のPart2について

0.準備

Y2015.PUBLIC.JCL(P2)の理解

//P2       JOB  1                                                       00011000
//P2       EXEC PGM=IEFBR14                                             00070600
//PART2    DD DSN=&SYSUID..P2.OUTPUT,DISP=(,CATLG,DELETE),              00115000
//            UNIT=SYSALLDA,LIKE=Y2015.P2.OUTPUT                        00116000
//LOAD     DD DSN=&SYSUID..LOAD,DISP=(,CATLG,DELETE),                   00119000
//            UNIT=SYSALLDA,LIKE=Y2015.LOAD                             00120000
//STATUS   DD DSN=&SYSUID..STATUS,DISP=(,CATLG,DELETE),                 00130000
//            UNIT=SYSALLDA,SPACE=(TRK,(1,1)),                          00131000
//            DCB=(LRECL=80,DSORG=PS,RECFM=F)                           00132000
//*                                                                     00140000
//JCL      EXEC PGM=IEBCOPY                                             00610200
//SYSPRINT DD DUMMY                                                     00610300
//SYSIN    DD DUMMY                                                     00610400
//SYSUT1   DD DSN=Y2015.JCL,DISP=SHR                                    00610500
//SYSUT2   DD DSN=&SYSUID..JCL,DISP=(,CATLG),                           00610600
//            UNIT=SYSALLDA,SPACE=(TRK,(1,1,1)),                        00610700
//            DCB=(LRECL=80,RECFM=FB),DSNTYPE=LIBRARY                   00610800
//SYSUT3   DD UNIT=SYSALLDA,SPACE=(TRK,(1,1))                           00610900
//SYSUT4   DD UNIT=SYSALLDA,SPACE=(TRK,(1,1))                           00611000
//*                                                                     00612000
//SOURCE   EXEC PGM=IEBCOPY                                             00613000
//SYSPRINT DD DUMMY                                                     00614000
//SYSIN    DD DUMMY                                                     00615000
//SYSUT1   DD DSN=Y2015.SOURCE,DISP=SHR                                 00616000
//SYSUT2   DD DSN=&SYSUID..SOURCE,DISP=(,CATLG),                        00617000
//            UNIT=SYSALLDA,SPACE=(TRK,(1,1,1)),                        00618000
//            DCB=(LRECL=80,RECFM=FB),DSNTYPE=LIBRARY                   00619000
//SYSUT3   DD UNIT=SYSALLDA,SPACE=(TRK,(1,1))                           00619100
//SYSUT4   DD UNIT=SYSALLDA,SPACE=(TRK,(1,1))                           00619200
//*                                                                     00619300
//DATA     EXEC PGM=IEBCOPY                                             00619400
//SYSPRINT DD DUMMY                                                     00619500
//IDATA    DD DSN=Y2015.DATA,DISP=SHR                                   00620500
//ODATA    DD DSN=&SYSUID..DATA,DISP=SHR                                00620600
//SYSIN    DD *                                                         00620700
  COPY OUTDD=ODATA,INDD=IDATA                                           00620800
  S M=(EBCDIC,EDITOR,MSG,TABLE,WHOAMI,ZJOBS,ZSYSTEMS)                   00620900
//SYSUT3   DD UNIT=SYSALLDA,SPACE=(TRK,(1,1))                           00621100
//SYSUT4   DD UNIT=SYSALLDA,SPACE=(TRK,(1,1))                           00622000
//*                                                                     00630000
IEFBR14とは?

IEFBR14は何もしないプログラム。名前のBR14はメインフレームCPUの機械命令である「BR 14」からきている。この命令は、「CPUの汎用レジスター14番に入っているメモリーアドレスに分岐せよ」という意味。
詳しくは、

メインフレーム実践ハンドブック z/OS(MVS),MSP,VOS3のしくみと使い方

メインフレーム実践ハンドブック z/OS(MVS),MSP,VOS3のしくみと使い方

IEFBR14 - Wikipedia, the free encyclopedia