z/OS バッチ用に生成する場合、準備済みロード・モジュールが z/OS バッチまたは CICS で実行されるようにすることができます。生成では、実行時に適切な EGL モジュールが選択されるように、DUALMODE シンボリック・パラメーターを使用する必要があります。
ENTRY %EZEALIAS%
REPLACE DSNELI
INCLUDE INPUT(%EZEALIAS%)
INCLUDE SYSLIB(DSNCLI)
NAME %EZEALIAS%(R)
そのリンク・エディット・パーツを追加して参照すると、z/OS バッチ用の FDABCL および FDAPCL ビルド・スクリプトにある再リンク・ステップが実行されます。ただし、次のようにビルド・スクリプトを変更する必要があります。
//X IF &HASLKG..EQ.YES
//L2 EXEC PGM=IEFBR14
//EZELKG DD CCUEXT=LKG,DISP=(NEW,DELETE),
// UNIT=SYSDA,SPACE=(TRK,(10,10)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//X ENDIF
この変更により、非 DB2 プログラムに対して再リンクが行われなくなります。
//X IF &HASLKG..EQ.YES
//L2 EXEC PGM=IEWL,REGION=&RGN,
// PARM='RENT,REUS,LIST,XREF,MAP,AMODE(&AMODE),RMODE(&RMODE)'
//SELALMD DD DISP=SHR,DSN=&ELA..SELALMD
// DD DISP=SHR,DSN=&ELA..SELAMOD2
//SYSLIB DD DISP=SHR,DSN=&DFHLOAD
// DD DISP=SHR,DSN=&DSNLOAD
//SYSLIN DD CCUEXT=LKG,DISP=(NEW,DELETE),
// UNIT=SYSDA,SPACE=(TRK,(10,10)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//*
//* SYSLMOD CHANGED TO SPECIFY TARGET CICS LOAD LIBRARY
//*
//SYSLMOD DD DISP=SHR,DSN=&CGHLQ..ZOSCICS.LOAD
//SYSPRINT DD CCUEXT=&CCUEXTL,DISP=(NEW,DELETE),
// UNIT=VIO,SPACE=(TRK,(30,10)),
// DCB=(RECFM=FB,LRECL=121,BLKSIZE=1210)
//SYSUT1 DD SPACE=(1024,(&WSPC,&WSPC)),UNIT=VIO
//*PROVIDE ANY CUSTOM DD STATEMENTS HERE
//*
//* INPUT REFERENCES OUTPUT FILE FROM PREVIOUS LINK STEP
//*
//INPUT DD DISP=SHR,DSN=&CGHLQ..&SYSTEM..LOAD
//X ENDIF
//