物理ファイルのレコードを更新したジョブ名(装置名)をレコードに更新しておくことは
よくあるが、それではこのジョブ名を取得するのに CLP の中で
RTVJOBA でジョブ名を取得してそれを RPG へパラメータとして渡す、という方法が
時々見受けられる。
例えば、
【CLP】
PGM
DCL VAR(&JOB) TYPE(*CHAR) LEN(10)
RTVJOBA JOB(&JOB)
CALL PGM(MYPGM) PARM(&JOB)
ENDPGM
という感じである。
この方法だとほとんどの RPG がパラメータ受け取りを必要としてしまう。
RPG のプログラム状況データ構造( SDS )を使うと RPG の中でジョブ名を
取得することができるので RPG の実行に CLP を必要としない。
次のように SDS を定義するだけでよい。
【RPG】
D SDS
D* ジョブ名
D JOB 244 253
D* ユーザー名
D USER 254 263
D* ジョブ番号
D JOBNBR 264 269
