IBM主机技术一本通
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.7 INCLUDE组

INCLUDE语句指定包含JCL语句集的PDS或PDSE的成员名,通过INCLUDE语句引用的JCL语句称为INCLUDE组,INCLUDE组语句取代INCLUDE语句。系统把INCLUDE组的JCL语句当做JCL作业流的一部分进行处理。INCLUDE语句语法如下。

        //[name[ INCLUDE MEMBER=name

存储INCLUDE组的作业必须是过程库的一部分,与过程的查找顺序相同。一个INCLUDE语句可以出现在:

● 作业里JOB语句之后的任何地方。但有一例外,就是如果有JCLLIB语句,它必须跟随在JCLLIB语句之后。

● 可以出现在INCLUDE组里,INCLUDE组可以包含INCLUDE语句,并且可以嵌套使用,嵌套层不超过15层。

INCLUDE组不能包含下列语句。

● JOB语句。

● PROC/PEND语句。

● JCLLIB语句。

● JES2/JES3语句。

● DD */DD DATA语句。

下面是一个INCLUDE语句的例子。

        //IBMUSERA JOB (36512),'IBMUSER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),
        // NOTIFY=IBMUSER
        //*
        //    INCLUDE MEMBER=KWLIBNAM
        //*
        //FSRX81   EXEC PGM=FSRX81,REGION=512K
        //SYSUDUMP DD SYSOUT=*
        //SYSDBOUT DD SYSOUT=*
        //SYSOUT   DD SYSOUT=*
        //SYSPRINT DD SYSOUT=*
        //MGFEOTI  DD DSN=&ENV.BNK.MG.MGFEOT.TX.FILE,DISP=SHR
        //KWFKCTI  DD DSN=&ENV.BNK.KW.KWFKCT.ONLINE.CTL.TBL,DISP=SHR
        //FSFKCTU  DD DSN=&ENV.BNK.FS.FSFKCT.CONTROL.TABLE,DISP=SHR
        //SYSIN   DD DSN=&ENVPRM..PARMLIB(FSRX81),DISP=SHR
        //SYSLST1  DD SYSOUT=(,),OUTPUT=*.OUTZ
        //SYSLST2  DD SYSOUT=(,),OUTPUT=*.OUTZ
        //*
        //

KWLIBNAM的内容为:

        //JOBLIB   DD DSN=FBNK.EFIX.LOADLIB,DISP=SHR
        //        DD DSN=PBNK.XOVR.LOADLIB,DISP=SHR
        //        DD DSN=PBNK.PROD.LOADLIB,DISP=SHR
        //        DD DSN=FCBK.EFIX.LOADLIB,DISP=SHR
        //        DD DSN=PCBK.XOVR.LOADLIB,DISP=SHR
        //        DD DSN=PCBK.PROD.LOADLIB,DISP=SHR
        //        DD DSN=CICS.CICSRUN.LOADLIB,DISP=SHR
        //        DD DSN=CICS.CICSRUN.SDFHEXCI,DISP=SHR

上面作业流中的JCL语句INCLUDE MEMBER=KWLIBNAM相当于将这一组JOBLIB语句调用到作业流中,其好处在于减少了JCL语句的长度,又可以供多个作业流反复调用,避免在多个作业流中重复编写同样的语句。