在老師提供的一個PDF中,找到了一段關於JCL書寫格式的描述,如下:
一般語句格式規範
在 JCL 中,除/*語句外的所有語句均以第一、二列的//符號作為開始標誌,系統規定這 些語句的長度為 80 列。這 80 列在邏輯上被劃分為五個地區,分別是標識符區、名字區、操作符區、參數區和說明區,即:
| 標識符區 |
名字區 |
操作符區 |
參數區 |
說明區 |
| // or //* or /* |
name |
operator |
parameter |
comment |
一般情況下,標識符區的符號為“// ”,該符號表明該條語句為 JCL 語句。標識符區位於每條語句的第一、二列。
在特殊情況下,標識符區的符號將有所變化。如 3.2.1 中所討論過的“/* ”語句和“//*
語句,則分別在標識符區中使用的符號“/* ”和“//* ”表示。
·名字區
名字區指明一個語句,便於系統控制塊或其他語句引用它。名字可以由 1~8 個字母數字 或萬用字元組成,但第一個字元必須是字母或萬用字元,且必須從第三列開始。名字區後必須跟一個或多個空格,可以選擇名字表達出這個 JCL 語句的作用。下面給出幾個正確與錯誤的名字區的例子:
正確的 錯誤的
//Z //9Z
//BACKUP#1 //TAPEBACKUP
//#99 //TEST*9
//$EXAM //EXAM(0)
·操作符區
操作符區位於名字區之後,規定了語句的類型:JOB、EXEC、DD、PROC、PEND,或操作員命令。名字區後必須跟一個或多個空格。例如:
//EXAMPLE JOB
//STEP1 EXEC
//INDD1 DD
·參數區
參數區在操作符區之後,其中包括被逗號分隔的參數,參數由事先規定好的關鍵字組成,對於這些參數其數值必須是可被代換的變值。參數區沒有固定的長度及列的要求。例如:
//EXAMPLE JOB 2000,CLASS=A
//STEP1 EXEC PGM=IEYFORT
//PRINT DD SYSOUT=A
·說明區
說明區位於參數區後,用於對相應語句進行注釋說明,它可以是任何需要的說明資訊,注釋區後必須跟一空格。需要注意的是,僅當參數出現時才能書寫說明資訊,不然容易與參數混淆。下面是一個說明區的例子:
//EXAMPLE JOB ,CLASS=A IT IS A COMMENT
JCL 只允許在參數區和說明區有續行,當需要續行時,在當前行的第 71 列前必須將某個參數或某個子參數以及參數後的逗號寫完整,且下一行第 1、2 列為“// ”,第3 列為空白格,續行的內容只能從4~16 列開始,如從 16 列後開始,將被認為是備註陳述式。下面是一個續行的例子:
//DATA DD DSN=SYS1 。FORTLIB,
// DISP=OLD