![JCL作業(yè)控制語言_第1頁](http://file4.renrendoc.com/view12/M04/2A/31/wKhkGWYJoyiAD_hoAAGJrqQNwi4375.jpg)
![JCL作業(yè)控制語言_第2頁](http://file4.renrendoc.com/view12/M04/2A/31/wKhkGWYJoyiAD_hoAAGJrqQNwi43752.jpg)
![JCL作業(yè)控制語言_第3頁](http://file4.renrendoc.com/view12/M04/2A/31/wKhkGWYJoyiAD_hoAAGJrqQNwi43753.jpg)
![JCL作業(yè)控制語言_第4頁](http://file4.renrendoc.com/view12/M04/2A/31/wKhkGWYJoyiAD_hoAAGJrqQNwi43754.jpg)
![JCL作業(yè)控制語言_第5頁](http://file4.renrendoc.com/view12/M04/2A/31/wKhkGWYJoyiAD_hoAAGJrqQNwi43755.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第四章作業(yè)控制語言第四章作業(yè)控制語言1內(nèi)容提要?基本概念?JCL語句?DD語句的關(guān)鍵字參數(shù)?特殊的DD語句?過程?實用程序內(nèi)容提要?基本概念2基本概念——作業(yè)
?作業(yè)(JOB)是用戶在完成該任務時要求計算機所做工作的集合基本概念——作業(yè)
?作業(yè)(JOB)是用戶在完成該任務時要求3基本概念——作業(yè)與作業(yè)流?在大型主機系統(tǒng)中,當用戶需要使用計算機完成某項批處理任務時,用戶必須準備一個作業(yè)流(JobStream)?作業(yè)流中包含一個或多個作業(yè)(Job)基本概念——作業(yè)與作業(yè)流?在大型主機系統(tǒng)中,當用戶需要使用計4基本概念——作業(yè)控制語言JCL?與COBOL等一般的編程語言不同,作業(yè)控制語言JCL(JobControlLanguage)是批處理作業(yè)的用戶與操作系統(tǒng)的接口?作業(yè)控制語言便是提供給用戶,為實現(xiàn)所需作業(yè)控制功能委托系統(tǒng)代為控制的一種語言?用戶通過JCL的相應語句來與操作系統(tǒng)通訊,獲得作業(yè)所需的資源等,按自己的意圖來控制作業(yè)的執(zhí)行基本概念——作業(yè)控制語言JCL?與COBOL等一般的編程語言5基本概念——作業(yè)步?一個作業(yè)中,每一段程序的執(zhí)行稱為一個作業(yè)步,一個作業(yè)可包含一個或多個作業(yè)步。一般的,作業(yè)由以下相對獨立的三步組成:
?編譯:把源程序語句(源模塊)轉(zhuǎn)換成目標模塊
?鏈接編輯:把目標模塊同子程序庫中的其他程序鏈接起來得到可執(zhí)行模塊
?執(zhí)行:運行可執(zhí)行模塊得到結(jié)果?一個作業(yè)中的各個作業(yè)步是順序執(zhí)行的,因此一個作業(yè)步的輸出可以作為下一個作業(yè)步的輸入?用戶的作業(yè)可以由一個或多個作業(yè)步構(gòu)成基本概念——作業(yè)步?一個作業(yè)中,每一段程序的執(zhí)行稱為一個作業(yè)6基本概念——單步作業(yè)與多步作業(yè)只有一個作業(yè)步的作業(yè)叫做單步作業(yè);由多個作業(yè)步構(gòu)成的作業(yè)叫做多步作業(yè)。不論單步作業(yè)還是多步作業(yè)都必須包含三個JCL基本語句(JCLStatement):?作業(yè)語句(JOB):標識一個作業(yè)的開始,提供必要的運行參數(shù)?執(zhí)行語句(EXEC):標識一個作業(yè)步的開始,定義本作業(yè)步所要執(zhí)行的程序或過程?數(shù)據(jù)定義語句(DD):用于描述應用程序所需要的數(shù)據(jù)文件基本概念——單步作業(yè)與多步作業(yè)只有一個作業(yè)步的作業(yè)叫做單步作7JCL語句——JCL語句的分類作業(yè)控制語言JCL由九種語句組成,除了前面介紹的三種外,其余六種是:/*語句:表示流內(nèi)數(shù)據(jù)結(jié)束或調(diào)用JES控制語句//*語句:注釋語句,由第4到第80列寫出注釋內(nèi)容//語句:空語句,用以標記一個作業(yè)的結(jié)束PROC語句:流內(nèi)過程(IN-STREAMPROCEDURE)或編目過程(CATALOGEDPROCEDURE)的起始標記PEND語句:標志一個流內(nèi)過程的結(jié)束。Command語句:操作員用這個語句在輸入流中寫入操作命令JCL語句——JCL語句的分類作業(yè)控制語言JCL由九種語句組8JCL語句——單步作業(yè)實例//BACKUPJOB,’EXAMPLEJOB’//************************//*ITISAEXAMPLE!*//************************//STEP1EXECPGM=IEBGENER//STEPLIBDDDSN=SYS1.LINKLIB,DISP=SHR//SYSINDDDUMMY//SYSPRINTDDSYSOUT=A//SYSU1DDDSN=PR.MASTER,DISP=OLD//SYSU2DDDSN=PR.MAILY.BACKUP,DISP=(NEW,CATLG),UNIT=TAPE,// DCB=(RECFM=FB,LRECL=200,BLKSIZE=1000)//JCL語句——單步作業(yè)實例//BACKUPJOB,’E9JCL的語法規(guī)則——JCL字符集?字母(共26個)ABCDEFGHIJKLMNOPQRSTUVWXYZ?數(shù)字(共10個)0123456789?特殊字符(共10個),./‘()*&+-=?通配符@$#(也可分別用X’7C’X’5B’和X’7B’表示)?EBCDIC可打印字符集JCL的語法規(guī)則——JCL字符集?字母(共26個)10JCL的語法規(guī)則—一般語句格式規(guī)范在JCL中,除/*語句外的所有語句均以第1、2列的//符號作為開始標志,系統(tǒng)規(guī)定這些語句的長度為80列。這80列在邏輯上被劃分為五個區(qū)域,分別是:?標識符區(qū)?名字區(qū)?操作符區(qū)?參數(shù)區(qū)?說明區(qū)JCL的語法規(guī)則—一般語句格式規(guī)范在JCL中,除/*語句外的11一般語句格式規(guī)范——標識符區(qū)?一般情況下,標識符區(qū)的符號為“//”,該符號表明該條語句為JCL語句?標識符區(qū)位于每條語句的第1、2列?在特殊情況下,標識符區(qū)的符號將有所變化一般語句格式規(guī)范——標識符區(qū)?一般情況下,標識符區(qū)的符號為“12一般語句格式規(guī)范——名字區(qū)?名字區(qū)指明一個語句,便于系統(tǒng)控制塊或其他語句引用它?名字可以由1~8個字母數(shù)字或通配符組成,但第一個字符必須是字母或通配符,且必須從第3列開始?名字區(qū)后必須跟一個或多個空格,可以選擇名字表達出這個JCL語句的作用一般語句格式規(guī)范——名字區(qū)?名字區(qū)指明一個語句,便于系統(tǒng)控制13一般語句格式規(guī)范——操作符區(qū)?操作符區(qū)位于名字區(qū)之后,規(guī)定了語句的類型:JOB、EXEC、DD、PROC、PEND,或操作員命令?操作符區(qū)后必須跟一個或多個空格一般語句格式規(guī)范——操作符區(qū)?操作符區(qū)位于名字區(qū)之后,規(guī)定了14一般語句格式規(guī)范——參數(shù)區(qū)?參數(shù)區(qū)在操作符區(qū)之后,其中包括被逗號分隔的參數(shù)?這些參數(shù)決定該JCL語句如何被處理?參數(shù)區(qū)沒有固定的長度及列的要求一般語句格式規(guī)范——參數(shù)區(qū)?參數(shù)區(qū)在操作符區(qū)之后,其中包括被15一般語句格式規(guī)范——說明區(qū)?說明區(qū)位于參數(shù)區(qū)后,用于對相應語句進行注釋說明,它可以是任何所需的說明信息,注釋區(qū)后必須跟一個空格?需要注意的是,僅當參數(shù)出現(xiàn)時才能書寫說明信息,不然容易與參數(shù)混淆一般語句格式規(guī)范——說明區(qū)?說明區(qū)位于參數(shù)區(qū)后,用于對相應語16一般語句格式規(guī)范——續(xù)行?JCL只允許在參數(shù)區(qū)和說明區(qū)有續(xù)行,當需要續(xù)行時,在當前行的第71列前必須將某個參數(shù)或某個子參數(shù)以及參數(shù)后的逗號寫完整,且下一行第1、2列為“//”,第3列為空格,續(xù)行的內(nèi)容只能從4~16列開始,如果從16列后開始,將被認為是注釋語句一般語句格式規(guī)范——續(xù)行?JCL只允許在參數(shù)區(qū)和說明區(qū)有續(xù)行17JCL的語法規(guī)則——參數(shù)規(guī)則?在JCL中,參數(shù)區(qū)內(nèi)的參數(shù)的類型分為兩類: 位置參數(shù)(positional):與其他參數(shù)保持相對位置的參數(shù) 關(guān)鍵字參數(shù)(keyword):由一個關(guān)鍵字和等號后面的可變數(shù)據(jù)組成?如果在一個語句內(nèi)既有位置參數(shù)又有關(guān)鍵字參數(shù)時,所有的關(guān)鍵字參數(shù)必須位于位置參數(shù)之后JCL的語法規(guī)則——參數(shù)規(guī)則?在JCL中,參數(shù)區(qū)內(nèi)的參數(shù)的類18JCL的語法規(guī)則——參數(shù)的語法1.位置參數(shù)和關(guān)鍵字參數(shù)之間必須用逗號分開,不允許有空格2.必須按規(guī)定的次序書寫參數(shù):所有的關(guān)鍵字參數(shù)必須位于位置參數(shù)之后,而所有位置參數(shù)也必須按規(guī)定排列3.當缺省某個位置參數(shù)或某個子參數(shù)時,應以一個逗號指明所在位置。當缺省最后一個位置參數(shù)時,逗號可以省略4.當沒有任何位置參數(shù)時,則不必書寫任何內(nèi)容表示5.關(guān)鍵字參數(shù)之間沒有相對位置的規(guī)定,可以按任何次序排列6.允許含有特殊字符的參數(shù)或子參數(shù),且其中的特殊字符并非起某種特定的語法功能必須用撇號“’”替代括號將這些參數(shù)和子參數(shù)括起來,而在這些參數(shù)與子參數(shù)中要用到撇號時,則需兩個連續(xù)的撇號表示有些語句中的某些參數(shù)或子參數(shù)含有一些特定的特殊字符時,將不需要用撇號括起來在JCL中用“&”來表識符號參數(shù)的開始。當參數(shù)中含有“&”且不用來表示符號參數(shù)時,則需使用連續(xù)的兩個“&”來表示“&”。7.JCL的位置參數(shù)與關(guān)鍵字參數(shù)最多只能由兩級子參數(shù)。也就是說用于括起子參數(shù)列表的括號最多只能有兩層JCL的語法規(guī)則——參數(shù)的語法1.位置參數(shù)和關(guān)鍵字參數(shù)之間必19JCL的語法規(guī)則——JCL語句的位置1.JOB語句2.JOBLIB語句3.JOBCAT及SYSCHK語句4.任何流內(nèi)過程5.第一個EXEC語句6.任何的STEPCAT、STEPLIB,或一般的屬于這一步的DD語句7.任何更多的EXEC語句及與他們相關(guān)聯(lián)的DD語句8.任何空語句JCL的語法規(guī)則——JCL語句的位置1.JOB語句20JCL的語法規(guī)則——JCL語法實例作業(yè)語句//EXPJOBJOB,’USERNAME’,MSGLEVEL=(1,1),EXAMPLE作業(yè)語句續(xù)行//MSGCLASS=Q,CLASS=A//**********************注釋語句//*ITISAEXAMPLE*//**********************執(zhí)行語句//STEP1EXECPGM=IEFBR14語句//DD1DDDSN=MJSN.TEAM01.ONE,DISP=(,CATLG),語句續(xù)行//SPACE=(TRK,(5,2)),UNIT=SYSDA語句//DD1DDDSN=MJSN.TEAM01.TWO,DISP=(,KEEP),DD語句續(xù)行//SPACE=(TRK,(1,1)),UNIT=SYSDAJCL的語法規(guī)則——JCL語法實例作業(yè)語句//21JCL語句——JOB語句?JOB語句標志一個作業(yè)的開始、分配作業(yè)名并設置相關(guān)的位置參數(shù)及關(guān)鍵字參數(shù),每個作業(yè)的第一個語句必須是JOB語句JCL語句——JOB語句?JOB語句標志一個作業(yè)的開始、分配22JOB語句——語法規(guī)則JOB語句的格式如下://作業(yè)名JOB位置參數(shù)[,關(guān)鍵字參數(shù)][,關(guān)鍵字參數(shù)]。。。[注釋說明]?作業(yè)名——作業(yè)名是用戶給作業(yè)指定的名字。為使操作系統(tǒng)識別作業(yè),必須選擇確定的作業(yè)名字,由于系統(tǒng)不能同時運行具有相同名字得到作業(yè),因此只能給作業(yè)一個唯一確定的名字?位置參數(shù)
?記賬信息(accountinginformation)
?程序員名(programmer’sname):程序員名用于標識作業(yè)的所有者(owner)信息,包括特殊字符在內(nèi),其長度不得超過20個字符?關(guān)鍵字參數(shù)
?ADDRSPCBYTESCLASSMSGCLASSMSGLEVELPRTYREGIONTIMETYPRUN……JOB語句——語法規(guī)則JOB語句的格式如下:23JOB語句——作業(yè)名?作業(yè)名必須遵守前面所提到的JCL語法規(guī)則?除此之外,建議用戶采用“用戶標識USERID+數(shù)字或字符”的作業(yè)名,例如用戶標識為JACK,則作業(yè)名可用JACKA。JOB語句——作業(yè)名?作業(yè)名必須遵守前面所提到的JCL語法規(guī)24JOB語句的位置參數(shù)——記賬信息位?記賬信息位于操作符“JOB”后,它用于提供用戶使用系統(tǒng)的合法性、機時及紙張的收費管理等?如果省略記帳信息參數(shù)不寫,則需要在“程序員名”前用一個逗號來表示;但如果兩個位置參數(shù)全部忽略不寫,則無需任何標示JOB語句的位置參數(shù)——記賬信息位?記賬信息位于操作符“JO25JOB語句的位置參數(shù)——程序員名?程序員名用于標識作業(yè)的所有者(owner)信息,包括特殊字符在內(nèi),其長度不得超過20個字符JOB語句的位置參數(shù)——程序員名?程序員名用于標識作業(yè)的所有26JOB語句關(guān)鍵字參數(shù)——ADDRSPC?指明作業(yè)所需之存儲類型,它有兩個子參數(shù):
?VIRT:表示作業(yè)請求虛擬頁式存貯
?REAL:表示作業(yè)請求實存存儲空間
?缺省值為VIRT?其格式為:ADDRSPC={VIRT}{REAL}?例://PEHJOB,BAKER,ADDRSPC=VIRT//DEBJOB,ERIC,ADDRSPC=REAL,REGION=100KJOB語句關(guān)鍵字參數(shù)——ADDRSPC?指明作業(yè)所需之存儲類27JOB語句關(guān)鍵字參數(shù)——CLASS?CLASS參數(shù)規(guī)定了作業(yè)的類別,JCL中可選用的作業(yè)類別有36個,用字母A~Z及數(shù)字0~9表示?相同類別的作業(yè)處于同一輸入隊列等待執(zhí)行并具有相同的處理屬性。?作業(yè)類別的屬性定義在JES中。當CLASS參數(shù)缺省時,JES將會根據(jù)安裝時的缺省值賦予該作業(yè)一個缺省的CLASS值JOB語句關(guān)鍵字參數(shù)——CLASS?CLASS參數(shù)規(guī)定了作28JOB語句關(guān)鍵字參數(shù)——SGLEVEL?用于控制JCL作業(yè)輸出清單的內(nèi)容?格式:MSGLEVEL=([statements][,messages])JOB語句關(guān)鍵字參數(shù)——SGLEVEL?用于控制JCL作業(yè)輸29MSGLEVEL——statement參數(shù)指明在JCL作業(yè)輸出清單中應打印出的作業(yè)控制語句的類型,取值范圍為:0—2。?取值0:僅打印出作業(yè)的JOB語句;?取值1:打印出作業(yè)中包括過程語句在內(nèi)的所有JCL語句;?取值2:輸入流中的所有控制語句。MSGLEVEL——statement參數(shù)指明在JCL作業(yè)輸30MSGLEVEL——message參數(shù)指明在JCL作業(yè)輸出清單中應打印出信息的類型,取值范圍為:0~1。?取值0:只有在作業(yè)異常終止時,打印出有關(guān)JCL、JES、操作員及SMS處理信息;?取值1:無論作業(yè)是否異常終止,都打印出有關(guān)JCL、JES、操作員及的處理信息MSGLEVEL——message參數(shù)指明在JCL作業(yè)輸出清31MSGLEVEL——實例MSGLEVEL——實例32JOB語句關(guān)鍵字參數(shù)—MSGCLASS?用于為作業(yè)日志(joblog)設置輸出類別。作業(yè)日志是為程序員提供的與作業(yè)相關(guān)信息的記錄。當該參數(shù)省略時,系統(tǒng)將會采用默認值。?格式:
MSGCLASS=class
?class:定義作業(yè)日志的類別
?與輸入隊列相似,class是一個A~Z的字母或一個0~9的數(shù)字。JOB語句關(guān)鍵字參數(shù)—MSGCLASS?用于為作業(yè)日志(j33MESSAGECLASS和MESSAGELEVEL的缺省值MESSAGECLASS和MESSAGELEVEL的缺省值34JOB語句關(guān)鍵字參數(shù)——NOTIFY?用于請求系統(tǒng)在后臺作業(yè)處理完畢時給指定用戶發(fā)送信息。如果作業(yè)完成時,該用戶未在系統(tǒng)登錄,則系統(tǒng)所發(fā)送的信息將會保留到此用戶下次登錄?格式:
NOTIFY={userid}
?userid:必須以字母或通配符開頭的1~7個字母、數(shù)字或通配符組成,其值必須是一個存在的TSO用戶標識。?例://SIGNJOB,TLOMP,NOTIFY=TSOUSERJOB語句關(guān)鍵字參數(shù)——NOTIFY?用于請求系統(tǒng)在后臺作業(yè)35JOB語句關(guān)鍵字參數(shù)——PRTY?用于為相應的輸入隊列中的作業(yè)分配優(yōu)先級。系統(tǒng)根據(jù)作業(yè)優(yōu)先級的高低來選擇來選擇作業(yè)執(zhí)行,對于同一級的作業(yè)的選擇將采取“先進先出”的原則?格式:PRTY=priority
?priority:用數(shù)字量來表示優(yōu)先級,數(shù)字越大表示優(yōu)先級越高。根據(jù)作業(yè)進入子系統(tǒng)的類型,其取值范圍是JES2:0~15;JES3:0~14JOB語句關(guān)鍵字參數(shù)——PRTY?用于為相應的輸入隊列中的作36JOB語句關(guān)鍵字參數(shù)——REGION(1)用于指定作業(yè)所需的實存或虛存空間的大小,系統(tǒng)將在該作業(yè)中的每一作業(yè)步使用該值。所需空間大小必須包含以下內(nèi)容:?運行所有程序所需的空間?在運行期間,程序中宏指令GETMAIN所需的所有附加空間?任務初始化和終止時需要的自由空間JOB語句關(guān)鍵字參數(shù)——REGION(1)用于指定作業(yè)所需的37JOB語句關(guān)鍵字參數(shù)——REGION(2)格式:REGION={valueK}={valueM}?valueK:以千字節(jié)(Kb)為單位指出所需空間大小,value可取1~7位的十進制數(shù),其取值范圍為1~2096128。系統(tǒng)以每4k為一存儲單位分配空間,所以value值應取4的倍數(shù),如REGION=68K。當value值不是4的倍數(shù)時,系統(tǒng)會將其增至一最為接近的4的倍數(shù)的值。?valueM:以兆字節(jié)(Mb)為單位指出所需空間大小,value可取1~4位的十進制數(shù),其取值范圍為1~2047JOB語句關(guān)鍵字參數(shù)——REGION(2)格式:REGION38REGION和ADDRSPC//EXJOB...,REGION=512K,//ADDRSPC=REALREGION和ADDRSPC//EXJOB...,R39JOB語句關(guān)鍵字參數(shù)——TIME?用于指定作業(yè)占用處理器的最長時間并可通過一些信息得知該作業(yè)占用處理器的時間。當作業(yè)占用處理器時間超過指定值時,系統(tǒng)將終止該作業(yè)。通常情況下,此參數(shù)不用設置。當作業(yè)所需處理器時間長于系統(tǒng)缺省值時,或出于某種測試目的才設置此參數(shù)。?格式:TIME={([minutes][,seconds])} ={1440 } ={NOLIMIT } ={MAXIMUM}JOB語句關(guān)鍵字參數(shù)——TIME?用于指定作業(yè)占用處理器的最40JOB語句——多個參數(shù)的例子JOB語句——多個參數(shù)的例子41JCL語句——EXEC語句(1)?EXEC語句標明作業(yè)或過程中的每一作業(yè)步的開始,并告知系統(tǒng)如何執(zhí)行該作業(yè)步。包括所有在EXEC語句中調(diào)用的過程中的所有作業(yè)步在內(nèi),一個作業(yè)最多可以有255個作業(yè)步JCL語句——EXEC語句(1)?EXEC語句標明作業(yè)或過程42JCL語句——EXEC語句(2)?作業(yè)步名是可以省略不寫的,如需標明作業(yè)名時,該作業(yè)名必須在該作業(yè)內(nèi)以及該作業(yè)調(diào)用的所有過程中是唯一的,它由1~8個字母或通配符開頭的字符數(shù)字構(gòu)成?EXEC語句中的位置參數(shù)有兩個:PGM和PROC。每條EXEC語句必須有且僅有一個位置參數(shù)或過程名?EXEC語句的關(guān)鍵字參數(shù)是可選的,這些參數(shù)只作用于本作業(yè)步JCL語句——EXEC語句(2)?作業(yè)步名是可以省略不寫的,43EXEC語句——作業(yè)步名?作業(yè)步名是可以省略不寫的,如需標明作業(yè)名時,該作業(yè)名必須在該作業(yè)內(nèi)以及該作業(yè)調(diào)用的所有過程中是唯一的,它由1~8個字母或通配符開頭的字符數(shù)字構(gòu)成EXEC語句——作業(yè)步名?作業(yè)步名是可以省略不寫的,如需標明44EXEC語句——PGM參數(shù)(1)PGM參數(shù)用于指明所要執(zhí)行的程序名。該程序必須是一個分區(qū)數(shù)據(jù)集(PDS)的成員或用作系統(tǒng)庫(systemlibrary)、私有庫(privatelibrary)臨時庫(temporarylibrary)的擴充分區(qū)數(shù)據(jù)集(PDSE)的成員EXEC語句——PGM參數(shù)(1)PGM參數(shù)用于指明所要執(zhí)行的45EXEC語句——PGM參數(shù)(2)?程序名的調(diào)用方法分為直接調(diào)用和間接調(diào)用?格式:PGM={program-name} {*.stepname.ddname} {*.cstepname.ddname}
?program-name:program-name(程序名)指明要執(zhí)行程序的成員名或別名。程序名由由1~8個字母或通配符開頭的字符數(shù)字構(gòu)成。
?*.stepname.ddname:表示要執(zhí)行的程序名由本作業(yè)步前名為“stepname”的作業(yè)步內(nèi)名為“ddname”的DD語句的DSN參數(shù)決定。
?*.cstepname.ddname:表示要執(zhí)行的程序名由本作業(yè)步前名為“stepname”的作業(yè)步里所調(diào)用過程內(nèi)名為“procstepname”的過程步中相應名為“ddname”DD語句的DSN參數(shù)決定。
?在上述三種程序調(diào)用方法中,第一種為直接調(diào)用,而后兩種為間接調(diào)用EXEC語句——PGM參數(shù)(2)?程序名的調(diào)用方法分為直接調(diào)46EXEC語句——PROC參數(shù)(1)?指明作業(yè)步所要運行的過程名EXEC語句——PROC參數(shù)(1)?指明作業(yè)步所要運行的過程47EXEC語句——PROC參數(shù)(2)?格式:{PROC=procedure-name}{procedure-name}
?procedure-name:需要調(diào)用的過程名,過程名由1~8個字母或通配符開頭的字符數(shù)字構(gòu)成。所調(diào)用的過程名可以是:
?編目過程的成員名或別名
?由PROC語句定義的流內(nèi)過程的過程名,該流內(nèi)過程必須在本作業(yè)內(nèi)且本作業(yè)步前定義?在設定該參數(shù)時,可直接寫出過程名EXEC語句——PROC參數(shù)(2)?格式:48EXEC語句——關(guān)鍵字參數(shù)?當EXEC語句的位置參數(shù)指定程序名時,關(guān)鍵字參數(shù)的寫法同JOB語句?當EXEC語句的位置參數(shù)指定編目或流內(nèi)過程時,EXEC語句的關(guān)鍵字參數(shù)將覆蓋所調(diào)用過程中各EXEC語句的關(guān)鍵字參數(shù)。因此如果想僅覆蓋過程中的某個EXEC語句的關(guān)鍵字參數(shù),則應在設置關(guān)鍵字參數(shù)時,同時指出所調(diào)用過程的相關(guān)過程步的名字EXEC語句——關(guān)鍵字參數(shù)?當EXEC語句的位置參數(shù)指定程序49EXEC語句的關(guān)鍵字參數(shù)——PARM(1)?用于向本作業(yè)步執(zhí)行的程序傳遞變量信息。該程序必須有相應的指令接收這些信息,并使用它們EXEC語句的關(guān)鍵字參數(shù)——PARM(1)?用于向本作業(yè)步執(zhí)50EXEC語句的關(guān)鍵字參數(shù)——PARM(2)?格式:
PARM[.過程步名]=子參數(shù)
PARM[.過程步名]=(子參數(shù),子參數(shù)) PARM[.過程步名]=(‘子參數(shù)’,子參數(shù)) PARM[.過程步名]=‘子參數(shù),子參數(shù)’?包括所有的逗號、撇號以及括號在內(nèi),所有子參數(shù)的總長度不得超過100個字符。當某子參數(shù)中含有特殊字符或空格時,可以將該子參數(shù)用撇號括起來,在其它子參數(shù)一起用括號括起來,或?qū)⑺性趨?shù)用撇號括起來。?子參數(shù):包含傳遞給程序的變量信息EXEC語句的關(guān)鍵字參數(shù)——PARM(2)?格式:51EXEC語句的關(guān)鍵字參數(shù)——COND(1)?用于對先前作業(yè)步執(zhí)行的返回碼(returncode)進行測試,以決定是否執(zhí)行本作業(yè)步?用戶可以對特定作業(yè)步的返回碼進行測試也可以對每一執(zhí)行完畢的的返回碼都進行測試。
?如果測試條件不滿足,系統(tǒng)執(zhí)行本作業(yè)步
?如果測試條件滿足系統(tǒng)則不執(zhí)行該作業(yè)步?作業(yè)中的第一個EXEC語句中的COND參數(shù)將被系統(tǒng)忽略?注意,當測試條件滿足時,系統(tǒng)并非不正常終止該作業(yè)步,而只是跳過該作業(yè)步,該作業(yè)仍將正常執(zhí)行EXEC語句的關(guān)鍵字參數(shù)——COND(1)?用于對先前作業(yè)步52EXEC語句的關(guān)鍵字參數(shù)——COND(2)?格式:(1)COND[.過程步名]=(code,operator)(2)COND[.過程步名]=((code,operator[,作業(yè)步名][,過程步名]) [,(code,operator[,作業(yè)步名][,過程步名])]…[,EVEN]) [,ONLY](3)COND=EVEN COND=ONLY
?利用COND參數(shù)最多可以有8個返回碼測試,如果有EVEN或ONLY時,最多有7個測試。格式(1)只有在先前作業(yè)步?jīng)]有非正常終止時,才能進行該測試。格式(2)、(3)測試決定于EVEN和ONLY的設置。EXEC語句的關(guān)鍵字參數(shù)——COND(2)?格式:53EXEC語句的關(guān)鍵字參數(shù)——COND(3)?code:系統(tǒng)使用code(測碼)與先前作業(yè)步或某特作業(yè)步的返回碼進行比較。Code的取值范圍為:?operator:表示code與返碼的比較類型,這些比較操作符是:GT(大于)、GE(大于等于)、EQ(等于)、NE(不等于)、LT(小于)、LE(小于等于)EXEC語句的關(guān)鍵字參數(shù)——COND(3)?code:系統(tǒng)使54EXEC語句的關(guān)鍵字參數(shù)——COND參數(shù)的實例(1)?如果前面任意作業(yè)步的返回值小于或等于8,則跳過本作業(yè)步EXEC語句的關(guān)鍵字參數(shù)——COND參數(shù)的實例(1)?如果前55EXEC語句的關(guān)鍵字參數(shù)——COND參數(shù)的實例(2)?如果作業(yè)步EXAMPLE2的返回值小于等于8,則跳過本作業(yè)步EXEC語句的關(guān)鍵字參數(shù)——COND參數(shù)的實例(2)?如果作56EXEC語句的關(guān)鍵字參數(shù)——COND的EVEN和ONLY子參數(shù)?EVEN:表示無論即使先前作業(yè)步異常終止,本作業(yè)步都要執(zhí)行。當EVEN子參數(shù)設定時:
?不測試先前任何的異常終止作業(yè)步的返回碼
?測試那些正常完成的作業(yè)步的返回碼,如果測試條件全部不滿足的話,本作業(yè)步將執(zhí)行?ONLY:表示只有先前作業(yè)步異常終止,本作業(yè)步才執(zhí)行。當ONLY子參數(shù)設定時:
?不測試先前任何的異常終止作業(yè)步的返回碼
?測試那些正常完成的作業(yè)步的返回碼,如果測試條件全部不滿足的話,本作業(yè)步將執(zhí)行EXEC語句的關(guān)鍵字參數(shù)——COND的EVEN和ONLY子參57EXEC語句的關(guān)鍵字參數(shù)——COND的EVEN子參數(shù)的例子?即使STEP3非正常中止,STEP4仍會執(zhí)行EXEC語句的關(guān)鍵字參數(shù)——COND的EVEN子參數(shù)的例子?58EXEC語句的關(guān)鍵字參數(shù)——COND的ONLY子參數(shù)的例子?只有STEP4前的作業(yè)步發(fā)生異常中止時,STEP4才執(zhí)行EXEC語句的關(guān)鍵字參數(shù)——COND的ONLY子參數(shù)的例子?59JCL語句——DD語句?數(shù)據(jù)定義語句(DD語句)用于定義一個數(shù)據(jù)集以及該數(shù)據(jù)集所需的輸入輸出資源JCL語句——DD語句?數(shù)據(jù)定義語句(DD語句)用于定義一個60DD語句——格式?格式://[dd名] DD [位置參數(shù)][,關(guān)鍵字參數(shù)]…[注釋] [過程步名.dd名]//[dd名 ]DD [過程步名.dd名]DD語句——格式?格式:61DD語句——dd名?“dd名”是為DD語句定義的名字,它由1~8個字母或通配符開頭的字符數(shù)字構(gòu)成?在一個作業(yè)步內(nèi)可以有多個DD語句,但每個DD語句的dd名在本作業(yè)步中應該是唯一確定的?“dd名”可以由系統(tǒng)定義也可以由用戶自己定義,當用戶需要調(diào)用公用程序時,需根據(jù)公用程序的具體要求選用系統(tǒng)定義的“dd名”?用戶自定義的“dd名”不可與系統(tǒng)定義“dd名”相重復?用戶子定義“dd名”可以根據(jù)數(shù)據(jù)的用途,遵循“dd名”的規(guī)則來命名,當為應用程序輸入輸出結(jié)果定義數(shù)據(jù)集時,“dd名”的命名規(guī)則取決于程序所用語言的類型DD語句——dd名?“dd名”是為DD語句定義的名字,它由162DD語句的位置參數(shù)——*?參數(shù)“*”用于開始一個流內(nèi)數(shù)據(jù)集。數(shù)據(jù)記錄跟在“DD”語句之后,其第一、二列不能是“//”或“/*”;該記錄可以是任何編如EDCBIC。下列符號表明流內(nèi)數(shù)據(jù)記錄的結(jié)束:
?輸入流中的“/*”。
?表示另一個JCL語句開始的“//”。
?當數(shù)據(jù)記錄中需以“//”開始時,就必須使用DATA參數(shù)來代替“*”參數(shù)。?格式:
//dd名DD*[,參數(shù)]…[注釋]DD語句的位置參數(shù)——*?參數(shù)“*”用于開始一個流內(nèi)數(shù)據(jù)集。63DD語句的位置參數(shù)——DATA?用作一個流內(nèi)數(shù)據(jù)集的開始,該流內(nèi)數(shù)據(jù)集里含有以“//”開頭的語句。數(shù)據(jù)記錄緊跟在“DDDATA”語句之后;該數(shù)據(jù)記錄可以是BCD或EDCBIC編碼。數(shù)據(jù)記錄將以“/*”作為結(jié)束。?格式://dd名DDDATA[,參數(shù)]…[注釋]?例://GROUP3DDDATA,DSNAME=&&GRP3
· data
·/*DD語句的位置參數(shù)——DATA?用作一個流內(nèi)數(shù)據(jù)集的開始,該64DD語句的位置參數(shù)——DUMMY?DUMMY參數(shù)用于標明:
?沒有設備或外存空間分配給該數(shù)據(jù)集。
?對該數(shù)據(jù)集不進行狀態(tài)處理。
?對BSAM(BasicSequentialAccessMethod)或QSAM(QueuedSequentialAccessMethod)來說,不對該數(shù)據(jù)集作輸入輸出操作。?用戶使用DUMMY參數(shù)對程序進行測試。當測試完成時,如果用戶希望恢復對數(shù)據(jù)集的輸入輸出操作時,只需將DDDUMMY參數(shù)替換成完整的數(shù)據(jù)集定義DD語句?DUMMY的另一個用途是在編目或流內(nèi)過程中?格式:
//dd名DDDUMMY[,參數(shù)]…DD語句的位置參數(shù)——DUMMY?DUMMY參數(shù)用于標明:65DD語句的關(guān)鍵字參數(shù)(1)?DD語句的關(guān)鍵字參數(shù)及其相關(guān)內(nèi)容相對JOB語句和EXEC語句來說比較復雜?DD語句通過這些參數(shù)完成下述任務:
?定義順序數(shù)據(jù)集(sequentialdataset)或分區(qū)數(shù)據(jù)集(partitioneddataset)名;
?描述數(shù)據(jù)集狀態(tài)、屬性及保留期限;
?描述設備類型、數(shù)量;
?設置數(shù)據(jù)集的記錄格式、占用空間;
?描述作業(yè)的處理方式。DD語句的關(guān)鍵字參數(shù)(1)?DD語句的關(guān)鍵字參數(shù)及其相關(guān)內(nèi)容66DD語句的關(guān)鍵字參數(shù)(2)?DD語句的關(guān)鍵字參數(shù)有很多,但總體上可分為兩大類,一類與設備相關(guān),另一類則與數(shù)據(jù)集或數(shù)據(jù)相關(guān),與設備相關(guān)的參數(shù)有UNIT、VOLUME、SPACE、LABEL等,與數(shù)據(jù)集、數(shù)據(jù)相關(guān)的參數(shù)有DSNAME、DISP、DCB、RECORG、EXPDT、RETPD、PROTECT、SYSOUT、HOLD等?在實際應用中,這兩類參數(shù)是配合使用的,沒有一個絕對的分界線DD語句的關(guān)鍵字參數(shù)(2)?DD語句的關(guān)鍵字參數(shù)有很多,但總67DD語句的關(guān)鍵字參數(shù)——DSNAME?DSNAME參數(shù)被用來指定一個數(shù)據(jù)集的名字?對于一個新建的數(shù)據(jù)集來說,DSNAME參數(shù)給定新數(shù)據(jù)集的名字;對于已存在的數(shù)據(jù)集來說,通過DSNAME參數(shù)來定位這個數(shù)據(jù)集。?格式:{DSNAME}=名字
{DSN}DD語句的關(guān)鍵字參數(shù)——DSNAME?DSNAME參數(shù)被用來68DD語句的關(guān)鍵字參數(shù)——DISP?通過DISP參數(shù)可以向系統(tǒng)描述數(shù)據(jù)集的狀態(tài),并且可以設定系統(tǒng)在作業(yè)步或作業(yè)結(jié)束如何處理相應的數(shù)據(jù)集。你可以為作業(yè)或作業(yè)步的正常結(jié)束設定一個參數(shù)值同時為非正常結(jié)束也設定一個參數(shù)值DD語句的關(guān)鍵字參數(shù)——DISP?通過DISP參數(shù)可以向系統(tǒng)69DD語句的關(guān)鍵字參數(shù)——DISP的格式{DISP=狀態(tài)}{DISP=([狀態(tài)][,正常結(jié)束參數(shù)][,非正常結(jié)束參數(shù)])}DISP=([NEW][,DELETE][,DELETE]) [OLD][,KEEP][,KEEP] [SHR][,PASS][,CATLG] [MOD][,CATLG][,UNCATLG] [, ][,UNCATLG] [, ]DD語句的關(guān)鍵字參數(shù)——DISP的格式{DISP=狀態(tài)}70?狀態(tài)子參數(shù)可以取下列值:
?NEW——表示在當前作業(yè)步中創(chuàng)建一個新的數(shù)據(jù)集。
?OLD——表示該數(shù)據(jù)集在當前作業(yè)步運行之前已經(jīng)存在,并且當前作業(yè)步將以獨占的方式使用這個數(shù)據(jù)集。
?SHR——表示該數(shù)據(jù)集在當前作業(yè)步運行之前已經(jīng)存在,并且當前作業(yè)步將以共享的方式使用這個數(shù)據(jù)集,也就是說其它的作業(yè)也可以同時使用這個數(shù)據(jù)集。這個參數(shù)值也可以寫成SHARE。
?MOD——表示下列兩種情況之一:1、數(shù)據(jù)集已經(jīng)存在,記錄將被添加到數(shù)據(jù)集的結(jié)尾,這個數(shù)據(jù)集必須是順序的。2、一個新的數(shù)據(jù)集將被創(chuàng)建。在任何一種情況下數(shù)據(jù)集都將以獨占的方式被使用。?正常結(jié)束參數(shù)可以取下列值:
?DELETE——表示在作業(yè)步正常結(jié)束后,該數(shù)據(jù)集將不再需要而被刪除,所占用的空間將會被釋放。
?KEEP——表示在作業(yè)步正常結(jié)束后,該數(shù)據(jù)集仍將繼續(xù)保留在相應的卷上。
?PASS——表示該數(shù)據(jù)集將會被保留傳遞到同一作業(yè)的后續(xù)作業(yè)步中被使用。
?CATLG——在作業(yè)步正常結(jié)束后,系統(tǒng)將對數(shù)據(jù)集進行編目,在系統(tǒng)編目或用戶編目中設置相應的入口指針指向該數(shù)據(jù)集。
?UNCATLG——在作業(yè)步正常結(jié)束后,系統(tǒng)解除對數(shù)據(jù)集的編目,在系統(tǒng)編目或用戶編目中刪除相應的入口指針和索引。?非正常結(jié)束參數(shù)可以取的值基本與正常結(jié)束參數(shù)可以取的值相同,但不能夠取PASS。?狀態(tài)子參數(shù)可以取下列值:71DD語句的關(guān)鍵字參數(shù)——UNIT?UNIT參數(shù)用于請求物理設備,用戶通過設置設備地址或設備類或設備組名等子參數(shù)確定設通過設置設備數(shù)或P等子參數(shù)確定設備數(shù)量。?格式:{UNIT=([三位設備地址][,設備數(shù)][,DEFER])} [/三位設備地址][,P ] [/四位設備地址][, ] [設備類型] [設備組名]{UNIT=AFF=DD名}DD語句的關(guān)鍵字參數(shù)——UNIT?UNIT參數(shù)用于請求物理設72DD語句的關(guān)鍵字參數(shù)——UNIT的子參數(shù)?設備地址:通過設備地址指定設備。設備地址是在系統(tǒng)安裝時建立的,它由一個3位的十進制數(shù)或4位十六進制數(shù)構(gòu)成。如用戶請求的某設備其地址為340時,參數(shù)設置為UNIT=340。?設備類型:通過設備類型名稱指定設備,這個名稱通常是數(shù)字的,如通過3480、3422指定磁帶機,通過3340、3375、3380、3390指定磁盤機。如用戶請求設備是3380磁盤機時,參數(shù)設置UNIT=3380。?設備組名:通過設備組名請求一臺或一組設備。被定義在一組中的設備可以是相同的,也可以可以是不同的。如一組設備中可以包含磁盤設備也可包含磁帶設備。但通常都是將一類設備作為一個設備組,具體的設備組名在系統(tǒng)安裝時定義。設備組名由l—8個字母符號構(gòu)成,常見的有SYSDA、DASD、TAPE、CART等。DD語句的關(guān)鍵字參數(shù)——UNIT的子參數(shù)?設備地址:通過設備73DD語句的關(guān)鍵字參數(shù)——VOLUME?通過VOLUME參數(shù)可以指定所引用的數(shù)據(jù)集所在的卷或卷組,也可以用來指定新建數(shù)據(jù)集所在的卷或卷組。?在使用這個參數(shù)時,用戶可以指定一個特定的卷、一組卷、具有特定序列號的卷或另外一個數(shù)據(jù)集所使用的卷。?對于一個跨越多個卷的數(shù)據(jù)集來說,這個參數(shù)還可以用來指定首先被處理的卷。?對于一個新建的數(shù)據(jù)集來說,可以通過不指定VOLUME參數(shù)或在VOLUME參數(shù)中不指定SER和REF子參數(shù)的方法在任何一個卷或卷組上創(chuàng)建該數(shù)據(jù)集,我們稱這種方法為非特定卷DD語句的關(guān)鍵字參數(shù)——VOLUME?通過VOLUME參數(shù)可74DD語句的關(guān)鍵字參數(shù)——VOLUME的格式{VOLUME}=([PRIVATE][,RETAIN][,卷順序號][,卷數(shù)]){VOL } [, ][, ] [SER=序列號 ] [SER=(序列號[,序列號]...) ] [,][REF=數(shù)據(jù)集名 ] [REF=*.DD語句名 ] [REF=*.作業(yè)步名.DD語句名] [REF=*.作業(yè)步名.過程作業(yè)步名.DD語句名]DD語句的關(guān)鍵字參數(shù)——VOLUME的格式{VOLUME}75DD語句的關(guān)鍵字參數(shù)——SPACE?SPACE參數(shù)用于為新建數(shù)據(jù)集分配磁盤空間,對于磁帶卷不起作用。?請求空間分配一般有兩種方法:一是告知系統(tǒng)所需空間大小,由系統(tǒng)來分配合適的空間;二是請求系統(tǒng)分配某個特定的空間,如:從某個特定磁道到另一個特定磁道。DD語句的關(guān)鍵字參數(shù)——SPACE?SPACE參數(shù)用于為新建76DD語句的關(guān)鍵字參數(shù)——SPACE的格式?由系統(tǒng)分配空間:SPACE=({TRK,}(初次分配數(shù)量[,再次分配數(shù)量][,目錄空間])[,RLSE][,CONTIG][,ROUND]) ({CYL,}[,][,索引][,][,MXIG] ({塊長度,} [,ALX] ({記錄長度,} [,]?請求特定的磁道:SPACE=(ABSTR,(初次分配數(shù)量,地址[,目錄空間]) [,索引]?僅請求目錄空間:SPACE=(,(,,目錄空間))DD語句的關(guān)鍵字參數(shù)——SPACE的格式?由系統(tǒng)分配空間:77DD語句的關(guān)鍵字參數(shù)——DCB?使用DCB參數(shù)可以完善數(shù)據(jù)集的數(shù)據(jù)控制塊(DCB)中的信息?格式:[DCB=(子參數(shù)[,子參數(shù)]...)]DD語句的關(guān)鍵字參數(shù)——DCB?使用DCB參數(shù)可以完善數(shù)據(jù)集78DD語句的關(guān)鍵字參數(shù)——SYSOUT?通過SYSOUT參數(shù)可以將相應的數(shù)據(jù)集標志為一個系統(tǒng)輸出數(shù)據(jù)集。同時SYSOUT參數(shù)還可以完成以下的定義:?將這個系統(tǒng)輸出數(shù)據(jù)集與一個輸出類關(guān)聯(lián)起來。?不通過JES而是要求一個外部的書寫器程序來處理這個系統(tǒng)輸出數(shù)據(jù)集。?指定這個數(shù)據(jù)集被打印輸出的格式。?引用JES2的/*OUTPUT語句。DD語句的關(guān)鍵字參數(shù)——SYSOUT?通過SYSOUT參數(shù)可79DD語句的關(guān)鍵字參數(shù)——SYSOUT的格式?格式:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年土壤重金屬提取機行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025年中國北京咖啡館未來發(fā)展預測及投資方向研究報告
- 2025-2030年手表訂閱服務創(chuàng)新行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年在線閱讀社區(qū)行業(yè)跨境出海戰(zhàn)略研究報告
- 買賣機器合同范本
- 2025-2030年城市軌道交通安全管理企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年可調(diào)節(jié)扭矩扳手行業(yè)跨境出海戰(zhàn)略研究報告
- 買車簽合同范例
- 2025-2030年護膚與健康管理結(jié)合企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年手機散熱系統(tǒng)革新行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 《監(jiān)理安全培訓》課件
- 萬人計劃藍色簡約萬人計劃青年拔尖人才答辯PPT模板
- 統(tǒng)編高中《思想政治》教材編寫理念和內(nèi)容介紹
- 高質(zhì)量SCI論文入門必備從選題到發(fā)表全套課件
- 民政局離婚協(xié)議書模板(8篇)
- 2022年普通高等學校招生全國統(tǒng)一考試數(shù)學試卷 新高考Ⅰ卷(含解析)
- (完整版)中心醫(yī)院心血管學科的??平ㄔO與發(fā)展規(guī)劃
- 勞動合同法草案的立法背景與創(chuàng)新黎建飛中國人民大學法學院教授
- 第三章 檢測儀表與傳感器
- 服裝QC尾期查貨報告(中英雙語)
- 電機學辜承林(第三版)第1章
評論
0/150
提交評論