//STOP01 EXEC PGM=MFDBUJCL,PARM='/STO DB BNKTXN' //SYSOUT DD SYSOUT=* //STOP02 EXEC PGM=MFDBUJCL,PARM='/STO DB BNKCUST' //SYSOUT DD SYSOUT=* //STOP03 EXEC PGM=MFDBUJCL,PARM='/STO DB BNKACC' //SYSOUT DD SYSOUT=*
//IC EXEC PGM=MFDBUJCL,PARM='IMAGECOPY,VERIFY'
//BNKIC1 DD DSN=BNKTXN.IC.GDG(+1),DISP=(NEW,CATLG) //BNKIC2 DD DSN=BNKTXNX1.IC.GDG(+1),DISP=(NEW,CATLG) //BNKIC3 DD DSN=BNKCUST.IC.GDG(+1),DISP=(NEW,CATLG) //BNKIC4 DD DSN=BNKACC.IC.GDG(+1),DISP=(NEW,CATLG) //BNKIC5 DD DSN=BNKTXNX2.IC.GDG(+1),DISP=(NEW,CATLG)
//SYSIN DD * BNKTXN BNKIC1 BNKTXNX1 BNKIC2 BNKCUST BNKIC3 BNKACC BNKIC4 BNKTXNX2 BNKIC5
以下に、イメージ コピー ユーティリティの実行に必要な JCL の完全な例を示します。ここでは、SYSIN データの最初の 8 バイトで定義される 5 つのデータベースが、DD 文によって指定される場所にコピーされます。また、VERIFY パラメーターが指定されているので、データベースの完全性の検証が行われます。
//RUNGDG JOB 'IC',CLASS=A,MSGCLASS=A //* //STOP01 EXEC PGM=MFDBUJCL,PARM='/STO DB BNKTXN' //SYSOUT DD SYSOUT=* //STOP02 EXEC PGM=MFDBUJCL,PARM='/STO DB BNKCUST' //SYSOUT DD SYSOUT=* //STOP03 EXEC PGM=MFDBUJCL,PARM='/STO DB BNKACC' //SYSOUT DD SYSOUT=* //* //IC EXEC PGM=MFDBUJCL,PARM='IMAGECOPY,VERIFY' //* //SYSOUT DD SYSOUT=* //BNKIC1 DD DSN=BNKTXN.IC.GDG(+1),DISP=(NEW,CATLG) //BNKIC2 DD DSN=BNKTXNX1.IC.GDG(+1),DISP=(NEW,CATLG) //BNKIC3 DD DSN=BNKCUST.IC.GDG(+1),DISP=(NEW,CATLG) //BNKIC4 DD DSN=BNKACC.IC.GDG(+1),DISP=(NEW,CATLG) //BNKIC5 DD DSN=BNKTXNX2.IC.GDG(+1),DISP=(NEW,CATLG) //SYSIN DD * BNKTXN BNKIC1 BNKTXNX1 BNKIC2 BNKCUST BNKIC3 BNKACC BNKIC4 BNKTXNX2 BNKIC5 /* //* //START01 EXEC PGM=MFDBUJCL,PARM='/STA DB BNKTXN' //SYSOUT DD SYSOUT=* //START02 EXEC PGM=MFDBUJCL,PARM='/STA DB BNKCUST' //SYSOUT DD SYSOUT=* //START03 EXEC PGM=MFDBUJCL,PARM='/STA DB BNKACC' //SYSOUT DD SYSOUT=* //
なんらかの理由でデータベースのコピーに失敗すると、イメージ コピー ユーティリティにより空の出力データセットが作成されます。この場合、ユーティリティを再実行する前に空のファイルを削除することができます。