プログラムがTSOコマンド、バッチプログラムどちらとして呼ばれたかを判定する方法
By 神居 - Posted: 2008/10/28 Last updated: 2010/01/23
- Leave a Comment
MVSではバッチ・プログラムはTSO環境であってもJCLであっても同じように動作させることができる。しかしTSO環境でならバッチ・モードでなくTSO固有の機能を利用したり、TSOコマンドとして動作したい場合もある。このようにTSOで実行された時はコマンド・プロセッサーとして、JCLで実行された時はバッチ・プログラムとして動作するプログラムを作成するような時、自分がどちらとして呼び出されているかを判定する方法を示す。
呼び出された時点のGR1が示す領域の先頭ワードのビット0が1ならバッチまたはCALLコマンド、0ならTSOコマンドとして呼び出されていると判定できる。
GR1がEXECパラメーターを指しているとき、実行中の空間がSTCやバッチ空間かTSOユーザーかを判定するにはEXTRACTマクロを使ってTJIDを求めればよい。さらに詳細を知りたければCOMM(CSCB)、PSB、TSOなども求めて参照する。
Posted in MVS実践アセンブラー・プログラミング • • Top Of Page