- 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
