📜  JCL-JOB语句(1)

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

JCL - JOB语句

JCL(Job Control Language)是操作系统IBM z/OS上用于控制作业(Job)的一种编程语言。JOB语句是JCL中的主要语句之一,用于定义和描述作业的执行要求和特征。

JOB语句的基本格式
//jobname  JOB (account-info),'job-parameters'
//     job-control-statement
//     [stepname EXEC PROGNAME,step-parameters]
//     [//*  comment-statement]

  • jobname:作业的名称,它唯一地标识作业,必须以字母开头,可带数字和特殊字符组成;

  • account-info:作业的帐户信息;

  • job-parameters:作业的参数,用于定义作业的特性,如作业的优先级、时间限制、运行条件等;

  • job-control-statement:指定作业控制信息,如设置作业的时间限制、设定系统选项等,如以下常见的语句:

    • //JOBCARD - 定义作业的整体特征,如作业的class、MSGCLASS、NOTIFY等;

    • //REGION - 指定作业运行的存储容量限制;

    • //TIME - 指定作业运行的时间限制;

    • //MSGLEVEL - 定义消息显示的级别;

    • //COND - 定义作业的运行条件。

  • stepname:作业的步骤名称,当作业中有多个步骤时,用来唯一标识每一个步骤;

  • EXEC:定义执行的步骤类型,如EXEC PGM表示运行一个程序;

  • PROGNAME:指定要运行的程序的名称;

  • step-parameters:定义当前步骤的特性和参数,如输入文件、输出文件、程序参数等;

  • comment-statement:注释语句,以//*开头,用于对作业或步骤进行说明或解释。

JOB语句的示例

下面是一个典型的JCL-JOB语句的示例:

//MYJOB  JOB (ACCT123),'JOB TO PROCESS DATA'
//STEP1  EXEC PGM=PROGRAM1
//SYSOUT DD SYSOUT=*
//INPUT  DD DSN=INPUT.DATA.SET,DISP=SHR
//OUTPUT DD DSN=OUTPUT.DATA.SET,DISP=(NEW,CATLG),
//            SPACE=(TRK,(10,5),RLSE),
//            DCB=(RECFM=FB,LRECL=80)
//* This is a comment statement

在这个示例中,我们定义了一个名为MYJOB的作业,它具有帐户信息ACCT123和作业参数'JOB TO PROCESS DATA'。作业中只有一个步骤STEP1,它使用程序PROGRAM1来处理数据。步骤STEP1定义了输入文件INPUT和输出文件OUTPUT,以及对输出文件的相关参数。最后,注释语句对作业进行了说明。

总结

JOB语句是JCL中用于定义和描述作业的执行要求和特征的重要语句。它在JCL编程中起到了核心作用,要能够正确使用JOB语句,程序员需要了解JOB语句的基本格式和常用参数,以及如何组织作业的步骤和设置相关参数。通过合理使用JOB语句,可以有效地控制作业的运行,提高作业的执行效率和可靠性。

参考资料: