POSTCC(完了コード設定プログラム)機能追加版
By 神居 - Posted: 2016/12/11 Last updated: 2017/11/30
- Leave a Comment
POSTCC:完了コード設定プログラム
POSTCCはパラメーターで指定された値を完了コードにして終了するプログラムです。実用的な処理は何もしません。好きなコードで終了するIEFBR14みたいなものです。JCLのCONDパラメーターのテストや、CLISTのERRORステートメント、&LASTCC変数の動きのテストなど、セルフスタディ用に使って下さい。
汎用に作ってあるので、z/OS以外のMSP、VOS3でも動作するはずです。MVS3.8でも動きます。またバッチ、TSOのいずれでも動作します。
プログラムの登録
//POSTCC EXEC PGM=IEWL,PARM='LIST,MAP,LET,XREF,NCAL' //SYSPRINT DD SYSOUT=* //SYSLMOD DD DISP=SHR,DSN=...dsname...(POSTCC) ロードモジュールの登録先 //SYSLIN DD DISP=SHR,DSN=...dsname...(POSTCC) オブジェクトモジュール //
オブジェクトモジュールをバイナリー・アップロードして、このJCLを参考にリンケージエディターを実行します。
オブジェクトモジュールはここからダウンロードできます。»»» 「postcc.obj」
JCLで使う
// JOB //JOBLIB DD DISP=SHR,DSN=...dsname... //* //STEP1 EXEC PGM=POSTCC,COND=EVEN,PARM=0 //STEP2 EXEC PGM=POSTCC,COND=EVEN,PARM=38 //STEP3 EXEC PGM=POSTCC,COND=EVEN,PARM=U123 //STEP4 EXEC PGM=POSTCC,COND=EVEN,PARM=S0C7 //STEP5 EXEC PGM=POSTCC,COND=EVEN // //
終了時に設定させたい完了コードを、PARMパラメーターで指定します。
// JOB //JOBLIB DD DISP=SHR,DSN=...dsname... //* //STEP6 EXEC PGM=POSTCC,COND=EVEN,PARM='W10' //STEP7 EXEC PGM=POSTCC,COND=EVEN,PARM='W5,U747' //STEP8 EXEC PGM=POSTCC,COND=EVEN,PARM='W7,S0C3' //STEP9 EXEC PGM=POSTCC,COND=EVEN,PARM='W12,43' // //
一定時間タイマー停止させることもできます。完了コードの前に Wnn パラメーターを追加します。nnは停止時間を秒単位で指定します。W10は、10秒間停止してから指定の完了コードで終了します。
TSOで使う
CALLコマンドで呼び出す。 CALL '...dsname...(POSTCC)' '0' CALL '...dsname...(POSTCC)' '38' CALL '...dsname...(POSTCC)' 'U123' CALL '...dsname...(POSTCC)' 'S0C7' CALL '...dsname...(POSTCC)' 'W5,12' 5秒待ってから完了コード12で終了する コマンドプロセッサーとして動かす(ログオンプロシージャのSTEPLIBに登録)。 POSTCC 0 POSTCC 38 POSTCC U123 POSTCC S0C7 実際に設定された完了コードを見たいなら、CLISTを利用できる。 PROC 0 CC() CONTROL NOFLUSH ALLOC DD(SYSIN) DA(*) <=== VOS3のみ ERROR DO RETURN END CALL '...dsname...(POSTCC)' '&CC' WRITE CC=&MAXCC EXIT CODE(&MAXCC) CLISTの実行。 EX '...dsname...(clistname)' 'CC(1234)'
TSOでは完了コードのパラメーターを省略すると、端末からの入力待ちとなります。プロンプトは出ないのでカーソル位置に直接コード値を入力します。
ソースプログラム(アセンブラ)を添付しますので、必要ならばご自由に改造して下さい。»»» 「POSTCC.txt」
Posted in 関連ソフト、フリーウェア • • Top Of Page