2012-04-26 77 views
1

傳遞SYSUID和作業ID作爲參數,以COBOL程序我需要的SYSUID和JOBID傳遞到COBOL程序用於記錄目的,這怎麼可能?通過JCL

可以在同一被作爲輸入傳遞在JCL中查詢。

在此先感謝。

回答

4

SYSUID很簡單,你只需將其添加到您的EXEC聲明PARM參數。

//ASTEP EXEC PGM=A#PGM,PARM='&SYSUID' 

JOBID不可用作參數。你將不得不寫COBOL代碼通過z/OS的control blocks鏈(見該鏈接數據區的書籍),如果你需要它。這可以完成,但我不推薦它。

如果您確實想要獲取作業編號,請編寫代碼以轉至位於相對存儲器位置0的PSA控制塊。從那裏您將獲得一個指向當前TCB的指針,該指針位於PSATOLD字段中在PSA,從TCB你得到TCBJSCBB領域這是一個指向JSCB,從TCBJSCBB fielf在JSCB你得到一個指針SSIB含有SSIBJBID場是作業號。所有這些控制塊,PSA,TCB,JSCB,和SSIB都記錄(z/OS的1.13)在上面的鏈接。我重申,我不建議這樣做。

Micro Focus公司已經到z/OS控制塊鏈的example,並有從Longpela twoparts的教程。

2

我同意@cschneid,你不想做所有的指針鏈只是爲了得到工作號碼。但是,當然,我們在創建「橫幅頁面打印」程序時確實這樣做了。我們根據我們的代碼http://gsf-soft.com/Freeware/COB2JOB.shtml

1

如果您對使用鏈接段中的SET ADDRESS OF項,使用POINTER和COMP-5項重新定義以及從彙編器DSECT創建01級結構體感到滿意,那麼請儘量做到這一點。作爲一個輕量級的COBOL子程序,它並不比彙編程序更昂貴(但彙編程序更好)。如果您對REXX STORAGE功能感到滿意,則可以查看Dave Alcock的IPLINFO程序。但是,如果我提到的COBOL語言結構對您而言不爲人知,那麼編寫一個彙編程序子程序,或者讓某人編寫它。