📜  JCL-基础库(1)

📅  最后修改于: 2023-12-03 15:02:07.311000             🧑  作者: Mango

JCL基础库介绍

JCL(Job Control Language)是IBM企业级操作系统z/OS上的作业控制语言,用于定义、提交、控制和运行批处理作业。而JCL基础库,就是z/OS中预定义的一些可以直接使用的JCL程序,可以提高我们的工作效率。

常见的JCL基础库
  • IEBGENER(IEB): IEBGENER能够通过拷贝、转换等方式,将数据集从一个位置传输到另一个位置。具体来说,它可以进行以下操作:

    • 拷贝数据集到另一个数据集。
    • 转换一种数据集到另一个数据集的格式,例如EBCDIC到ASCII,Record Input/Output设定到Line Sequential设定等等。

    示例代码:

    //COPYDATA JOB (JOB123),'COPY DATA'
    //STEP1 EXEC PGM=IEBGENER
    //SYSIN DD *
      GENERATE MAXLITERAL
      /* This is an example of a simple IEBGENER control statement */
    //SYSUT1 DD DSN=INPUT.DATA,DISP=SHR
    //SYSUT2 DD DSN=OUTPUT.DATA,DISP=(NEW,CATLG),
    //            UNIT=SYSDA,SPACE=(CYL,(x,y))
    //SYSPRINT DD SYSOUT=*
    
  • IEFBR14(IEF): IEFBR14是一种轻量级的JCL程序,通常用于在程序中创建一些虚拟数据集或者空数据集。由于其本身不会涉及到任何实际的数据处理,因此运行速度非常快。示例代码:

    //CREATE JOB (JOB123),'CREATE EMPTY DS'
    //STEP1 EXEC PGM=IEFBR14
    //MYDS  DD  DSN=EMPTY.DS,DISP=(NEW,CATLG),
    //            UNIT=SYSALLDA,SPACE=(TRK,(1,1),RLSE),
    //            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
    //SYSOUT DD SYSOUT=*
    
  • IEFBR14(IEF): IEFBR14是一种轻量级的JCL程序,通常用于在程序中创建一些虚拟数据集或者空数据集。由于其本身不会涉及到任何实际的数据处理,因此运行速度非常快。示例代码:

    //CREATE JOB (JOB123),'CREATE EMPTY DS'
    //STEP1 EXEC PGM=IEFBR14
    //MYDS  DD  DSN=EMPTY.DS,DISP=(NEW,CATLG),
    //            UNIT=SYSALLDA,SPACE=(TRK,(1,1),RLSE),
    //            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
    //SYSOUT DD SYSOUT=*
    
  • IKJEFT01(IKJ): IKJEFT01常用于向z/OS系统提交多个作业。可以将一堆作业放在一个分区中,在分区外部通过这个命令一次性地提交所有的作业。示例代码:

    //SUBMIT JOB (JOB123),'SUBMIT JOBS',
    //  CLASS=A,MSGCLASS=X
    //*FIRST JOB TO BE SUBMITTED
    //STEP1 EXEC PGM=SORT
    //SYSOUT DD SYSOUT=*
    //SORTIN DD DSN=&&TEMP,DISP=(OLD,DELETE,KEEP)
    //SORTOUT DD DSN=&&SORT1,DISP=(,PASS),SPACE=(CYL,(10,10),RLSE)
    //SYSIN DD *
      SORT FIELDS=COPY
    /*
    //*SECOND JOB TO BE SUBMITTED
    //STEP2 EXEC PGM=IEFBR14
    //SYSOUT DD SYSOUT=*
    //SYSPRINT DD SYSOUT=*
    //SYSUDUMP DD SYSOUT=*
    

以上仅为常见的JCL基础库的说明,实际上JCL基础库非常丰富,建议开发者可以仔细查看文档和手册,以了解更多的JCL基础库。