CVTRPGSRCを使用してRPG/400(RPGⅢ)をILE RPG(RPGⅣ)で使用するには
Question
現在のシステムはRPG/400(RPGⅢ)でコーディングされています。 SOURCEを変換することで、ILE RPG(RPGⅣ)で使用できると聞きました。 具体的にはどのようにすれば良いでしょうか。
Answer
RPG ソースの変換 (CVTRPGSRC)コマンドを用いてSOURCEをRPG/400(RPGⅢ)からILE RPG(RPGⅣ)に変換することができます。
まずは、CRTSRCPFでソースファイルを作成してください。
例)
CRTSRCPF FILE(*CURLIB/QRPGLESRC) RCDLEN(132) IGCDTA(*YES)
注意点はレコード長が92でなく、132とすることです。
また、ILE RPG(RPGⅣ)で小文字を使用する場合はエミュレータのホストコードページやCCSIDもきちんと合わせないと、ソースに書かれた文字を認識しないのでコンパイルエラーが出てしまいます。
ILE RPGを使用することで書き方が変わりますので、慣れるまでは少し大変かも知れません。
大きなメリットとしては、RPG/400(RPGⅢ)の制限があったものがILE RPG(RPGⅣ)で 拡張されることではないでしょうか。
付録 A. RPG IV 制約事項
https://www.ibm.com/support/knowledgecenter/ja/SSAE4W_9.6.0/com.ibm.etools.iseries.ilerpg.ref.doc/topics/rpgrest.htm
例えばファイルのレコード長、配列/テーブルの要素があります。
詳細はURLをご参照ください。
ILE RPG(RPGⅣ)でコーディングすることで今まで、制限があってコーディングできなかったものがコーディングできるようになります。
それでも、ILE RPG(RPGⅣ)にも制限はありますが、余程の事が無いと制限までは到達しないと思います。
念のためですが、開発・テスト用ないし個人用のライブラリ環境など、試す際は本番業務に影響が及ばない環境を利用する事をお勧めします
また、ソースコード改修作業にあたりますので、ILE RPG(RPGⅣ)への移行は計画的に実施してください。
私は長年共に育ってきた RPG/400 の方に親しみを覚えますが、Java や C 言語で育ってきた若い方は、ILE RPG ないしその機能強化版である フリーフォーム RPG の方が馴染みやすいと思います。メーカーである IBM も今後はこれら新しい RPG の機能強化を進めていますので、是非トライする事をお勧めします。
by けやきのじぃじ