- JCL 教程
- JCL 首页
- JCL - 概述
- JCL - 环境
- JCL - JOB 语句
- JCL - EXEC 语句
- JCL - DD 语句
- JCL - 基本库
- JCL - 过程
- JCL - 条件处理
- JCL - 定义数据集
- JCL - 输入/输出方法
- JCL - 运行 COBOL 程序
- JCL - 实用程序
- JCL - 基本排序技巧
- JCL 有用资源
- JCL - 问答
- JCL - 快速指南
- JCL - 有用资源
- JCL - 讨论
JCL - EXEC 语句
每个 JCL 可以由许多作业步骤组成。每个作业步骤可以直接执行程序,也可以调用过程,而过程又可以执行一个或多个程序(作业步骤)。包含作业步骤程序/过程信息的语句是 **EXEC 语句**。
EXEC 语句的目的是为在作业步骤中执行的程序/过程提供所需的信息。在此语句中编码的参数可以将数据传递给正在执行的程序,可以覆盖 JOB 语句的某些参数,如果 EXEC 语句调用过程而不是直接执行程序,则可以将参数传递给过程。
语法
以下是 JCL EXEC 语句的基本语法
//Step-name EXEC Positional-param, Keyword-param
描述
让我们看看上面 EXEC 语句语法中使用的术语的描述。
STEP-NAME
这标识 JCL 中的作业步骤。它可以是长度为 1 到 8 的字母数字字符。
EXEC
这是将其标识为 EXEC 语句的关键字。
POSITIONAL-PARAM
这些是位置参数,可以分为两种类型
| 位置参数 | 描述 |
|---|---|
| PGM | 这指的是要在作业步骤中执行的程序名称。 |
| PROC | 这指的是要在作业步骤中执行的过程名称。我们将在单独的章节中讨论它。 |
KEYWORD-PARAM
以下是 EXEC 语句的各种关键字参数。您可以根据需要使用一个或多个参数,它们之间用逗号隔开
| 关键字参数 | 描述 |
|---|---|
| PARM | 用于向在作业步骤中执行的程序提供参数化数据。这是一个程序相关的字段,没有明确的规则,只是在出现特殊字符时,PARM 值必须包含在引号中。 例如,下面给出的值“CUST1000”作为字母数字值传递给程序。如果程序是 COBOL 程序,则通过 JCL 中的 PARM 参数传递的值将在程序的 LINKAGE SECTION 中接收。 |
| ADDRSPC | 这用于指定作业步骤是否需要虚拟存储或实际存储才能执行。虚拟存储是可分页的,而实际存储不可分页,并放置在主内存中执行。需要更快执行的作业步骤可以放在实际存储中。以下是语法 ADDRSPC=VIRT | REAL 当未编码 ADDRSPC 时,VIRT 是默认值。 |
| ACCT | 这指定作业步骤的会计信息。以下是语法 ACCT=(userid) 这类似于 JOB 语句中的位置参数 **会计信息**。如果它在 JOB 和 EXEC 语句中都进行了编码,则 JOB 语句中的会计信息将应用于所有未编码 ACCT 参数的作业步骤。EXEC 语句中的 ACCT 参数将仅覆盖 JOB 语句中针对该作业步骤的会计信息。 |
EXEC 和 JOB 语句的常用关键字参数
| 关键字参数 | 描述 |
|---|---|
| ADDRSPC | 在 JOB 语句中编码的 ADDRSPC 将覆盖在任何作业步骤的 EXEC 语句中编码的 ADDRSPC。 |
| TIME | 如果在 EXEC 语句中编码了 TIME,则它仅应用于该作业步骤。如果在 JOB 和 EXEC 语句中都指定了它,则两者都会生效,并且由于其中任何一个原因都可能导致超时错误。不建议同时在 JOB 和 EXEC 语句中使用 TIME 参数。 |
| REGION | 如果在 EXEC 语句中编码了 REGION,则它仅应用于该作业步骤。 在 JOB 语句中编码的 REGION 将覆盖在任何作业步骤的 EXEC 语句中编码的 REGION。 |
| COND | 用于根据前一步的返回码控制作业步骤的执行。 如果在作业步骤的 EXEC 语句中编码了 COND 参数,则忽略 JOB 语句中的 COND 参数(如果存在)。可以使用 COND 参数执行的各种测试在条件处理中进行了说明。 |
示例
以下是包含 JOB 和 EXEC 语句的 JCL 脚本的简单示例
//TTYYSAMP JOB 'TUTO',CLASS=6,MSGCLASS=X,REGION=8K, // NOTIFY=&SYSUID //* //STEP010 EXEC PGM=MYCOBOL,PARAM=CUST1000, // ACCT=(XXXX),REGION=8K,ADDRSPC=REAL,TIME=1440
