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
廣告
© . All rights reserved.