CLで自身のジョブ名を取得する方法についての備忘録です。
RTVJOBA コマンドでジョブ名を取得する
RTVJOBA コマンドを使うことで自身のジョブ名を取得することができます。
RTVは retrieve で検索するとか、取得するとかいった意味です。
JOBAはJOB Attribute(属性の意) でしょう、きっと。
使い方は RTVJOBA コマンドのパラメーターの1つである 「JOB」に
あらかじめ定義したCL変数を与えます。
CL変数は参照渡しになっているようなので、与えた変数に結果(JOB名)を格納してくれます。
後続処理ではそのCL変数を参照します。
与えるCL変数のデータ型は文字列で文字数は10です。
下記のコードは予め宣言したCL変数 &JOBNAME に
RTVJOBA コマンドで結果を格納し、画面に表示する例です。
DCL VAR(&JOBNAME) TYPE(*CHAR) LEN(10) RTVJOBA JOB(&JOBNAME) SNDPGMMSG MSG(&JOBMNAME)
オブジェクト的なナウいプログラミング言語に慣れていると、
結果をreturnしてくれ・・・と思ってしまう今日この頃。
それに参照渡しに拒否反応が出るのは私だけ?
(こんなこと言っているとAS400なんて使えないですね)
しかし、この RTVJOBA コマンドはジョブ名以外にも
ジョブに関する色々な情報を取得できるので
ジョブに関する情報を取得したいときはきっと重宝されると思います。
短いですが、備忘録ということで以上になります。