在JCL中與DD名稱一起指定的物理DSN名稱是在ZOS中處理文件的常用方法。在JCL中指定環境變量
但我們也可以在FILE CONTROL中指定一個變量DD名稱,並使用SETENV在程序中設置DSN。 例如How to set environment variables and dynamic file declaration
有什麼辦法可以使用JCL設置環境變量並使用GETENV訪問程序中的外部變量(類似於Linux中的EXPORT或者Windows中的SET)?
在JCL中與DD名稱一起指定的物理DSN名稱是在ZOS中處理文件的常用方法。在JCL中指定環境變量
但我們也可以在FILE CONTROL中指定一個變量DD名稱,並使用SETENV在程序中設置DSN。 例如How to set environment variables and dynamic file declaration
有什麼辦法可以使用JCL設置環境變量並使用GETENV訪問程序中的外部變量(類似於Linux中的EXPORT或者Windows中的SET)?
您可以使用_CEE_ENVFILE環境變量爲設置環境變量指定DD或數據集名稱。我假設使用C LE運行時功能的GETENV和使用SETENV一樣簡單。
PARM=('ENVAR("_CEE_ENVFILE=DD:STDENV")/')
可以使用CEEGTJS語言環境(LE)可調用服務來檢索EXPORT版JCL符號的值。
我建議任何在z/OS上編程的人都熟悉Language Environment (LE) Callable Services。 LE Callable Services是z/OS的一部分,適用於用C,C++,COBOL,PL/I和彙編語言編寫的所有應用程序,受documented restrictions的約束。
我使用的Zos版本太舊了,所以這個解決方案不適合我。謝謝。 – cobp
如果你問我認爲你在問什麼,那麼不會。如果你不問我認爲你在問什麼,那麼請澄清這個問題。請記住,你知道你的意思,我們只知道你能否描述準確。我認爲你問的是「我可以使用SETENV(或其他)更改JCL符號。如果**是你的問題,答案是否定的。整個JCL流是」轉換/解釋「(CI)作爲準備處理的一部分,而不是處理的一部分,當你的JOB開始的時候,JCL不再存在了,所以你不能改變它的任何東西 –
這是一個錯字,我的意思是GETENV在程序中的使用, – cobp
啊,所以你的問題是,我可以使用GETENV來獲得JCL符號的解析值到我的程序中,而不是已經討論過的PARM?我們可以得到一些更詳細的問題,包括使用GETENV會給你一個特殊的方法嗎? –