
- 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 - 環境設定
在 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 語句中也可以有關鍵字引數。
這些引數將在後續章節中與相應的示例一起詳細說明。