JCL - 環境設定



在 Windows/Linux 上安裝 JCL

有很多可用於 Windows 的免費主機模擬器,可用於編寫和學習 JCL 示例。

其中一個模擬器是 Hercules,可以按照以下簡單步驟輕鬆安裝在 Windows 中

  • 下載並安裝 Hercules 模擬器,可從 Hercules 主頁獲取:www.hercules-390.eu

  • 有關編寫和執行 JCL 的各種命令的完整指南可在以下網址找到:www.jaymoseley.com/hercules/installmvs/instmvs2.htm

Hercules 是大型機 System/370 和 ESA/390 架構以及最新的 64 位 z/Architecture 的開源軟體實現。Hercules 可以在 Linux、Windows、Solaris、FreeBSD 和 Mac OS X 上執行。

在大型機上執行 JCL

使用者可以透過多種方式連線到大型機伺服器,例如瘦客戶端、虛擬終端、虛擬客戶端系統 (VCS) 或虛擬桌面系統 (VDS)。

每個有效使用者都會獲得一個登入 ID,用於輸入 Z/OS 介面 (TSO/E 或 ISPF)。在 Z/OS 介面中,可以編寫 JCL 並將其作為成員儲存在分割槽資料集 (PDS) 中。提交 JCL 後,它將被執行,並按照上一章的作業處理部分中說明的方式接收輸出。

JCL 的結構

以下是包含常用語句的 JCL 的基本結構

//SAMPJCL JOB 1,CLASS=6,MSGCLASS=0,NOTIFY=&SYSUID          (1)
//*                                                        (2)
//STEP010  EXEC PGM=SORT                                   (3) 
//SORTIN   DD DSN=JCL.SAMPLE.INPUT,DISP=SHR                (4)
//SORTOUT  DD DSN=JCL.SAMPLE.OUTPUT,                       (5)
//         DISP=(NEW,CATLG,CATLG),DATACLAS=DSIZE50                
//SYSOUT   DD SYSOUT=*                                     (6) 
//SYSUDUMP DD SYSOUT=C                                     (6) 
//SYSPRINT DD SYSOUT=*                                     (6) 
//SYSIN    DD *                                            (6) 
  SORT FIELDS=COPY                                    
  INCLUDE COND=(28,3,CH,EQ,C'XXX')                                    
/*                                                         (7)  

程式描述

下面解釋了編號的 JCL 語句

(1) JOB 語句 - 指定作業 SPOOLing 所需的資訊,例如作業 ID、執行優先順序、作業完成後要通知的使用者 ID。

(2) //* 語句 - 這是一個註釋語句。

(3) EXEC 語句 - 指定要執行的 PROC/程式。在上面的示例中,正在執行 SORT 程式(即,按特定順序對輸入資料進行排序)

(4) 輸入 DD 語句 - 指定要傳遞給 (3) 中提到的程式的輸入型別。在上面的示例中,共享模式 (DISP = SHR) 下傳遞物理順序 (PS) 檔案作為輸入。

(5) 輸出 DD 語句 - 指定程式執行後要生成的輸出型別。在上面的示例中,建立了一個 PS 檔案。如果語句在一行中超過第 70 位,則在下一行繼續,下一行應以“//”開頭,後跟一個或多個空格。

(6) 可以有其他型別的 DD 語句來向程式指定其他資訊(在上面的示例中:SORT 條件在 SYSIN DD 語句中指定)以及指定錯誤/執行日誌的目標位置(示例:SYSUDUMP/SYSPRINT)。DD 語句可以包含在資料集(大型機檔案)中,也可以作為流資料(在上面的示例中硬編碼在 JCL 中的資訊)給出。

(7) /* 標記流資料的結束。

除流資料外,所有 JCL 語句都以 // 開頭。JOB、EXEC 和 DD 關鍵字前後至少應留一個空格,其他語句中不應有空格。

作業引數型別

每個 JCL 語句都帶有一組引數,以幫助作業系統完成程式執行。引數可以分為兩種型別

位置引數

  • 出現在語句中預定義的位置和順序。例如:會計資訊引數只能出現在JOB關鍵字之後,程式設計師名稱引數和關鍵字引數之前。如果省略位置引數,則必須用逗號代替。

  • 位置引數存在於 JOB 和 EXEC 語句中。在上面的示例中,PGM 是在EXEC關鍵字之後編碼的位置引數。

關鍵字引數

  • 它們編碼在位置引數之後,但可以以任何順序出現。如果不需要,可以省略關鍵字引數。通用語法是 KEYWORD= value。例如:MSGCLASS=X,即作業日誌在作業完成後重定向到輸出 SPOOL。

  • 在上面的示例中,CLASS、MSGCLASS 和 NOTIFY 是 JOB 語句的關鍵字引數。EXEC 語句中也可以有關鍵字引數。

這些引數將在後續章節中與相應的示例一起詳細說明。

廣告