RPG

42.古い OPM の RPG を ILE-RPG に変換するには?

従来型の RPG-IV は今では OPM と呼ばれ、これに対してILE での RPG は ILE-RPG と呼ばれている。
ここでは OPM-RPG を ILE-RPG に変換する方法を紹介する。

CRTSRCPF  MYSRCLIB/QRPGLESRC  RCDLEN(112)  IGCDTA(*YES)  AUT(*ALL)

で、112バイトの QRPGLESRC という名前でのILE-RPGソースファイルを作成する。

CVTRPGSRC FROMFILE(MYSRCLIB/QRPGSRC) FROMMBR(MYPGM)TOFILE(MYLIB/QRPGLESRC)

によって、新しい ILE-RPGソースが生成される。(問題はこの後)

次に、CRTRPGPGM の代わりに

CRTBNDRPG MYLIB/MYPGM SRCFILE(MYSRCLIB/QRPGLESRC)
DFTACTGRP(*NO) ACTGRP(*CALLER) AUT(*ALL)

のようにコンパイルする。
IBM提供の省略値は変更して、DFTACTGRP(*NO) ACTGRP(*CALLER)
と指定しておかないと、従来の OPM-RPG から変換されたILE-RPG は予測のつかない動きとなり
何日ものあいだ頭を悩ますことになる。
新規に ILE開発する場合でも このパラメータの指示でコンパイルすること。
このように、ILEコンパイルの省略値は適切ではないので米国の雑誌などでもことある毎に注意を促している。
RPG だけを紹介したが OLE-CLP などでも同じである。