RPG

459. ILE-RPGのススメ(2)

以前にRPG IIIからILE-RPGへの変換方法を解説してあるが
もう一度改めて紹介する。

もしあるRPG IIIプログラムを修正する必要が出てきたのであれば
RPG IIIを修正するのではなくRPG IIIをILE-RPGに変換してから
ILE-RPGを修正するようにすれば少しずつでもILE-RPGのソースに
慣れてくる。
新規の開発はもちろんILE-RPGで開発すべきである。

CVTRPGSRCでRPG IIIをILE-RPGに変換するには

(1) 112バイトのソース・ファイルをCCSID=65535で作成する

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

(2) CVTRPGSRCでRPG IIIをILE-RPGに変換する

CVTRPGSRC FROMFILE(MYSRCLIB/QRPGSRC) FROMMBR(MYPGM) TOFILE(MYSRCLIB/QRPGLESRC) CVTRPT(*NO) LOGFILE(*NONE)

…変更報告書の印刷(CVTRPT)は必ず *NO に指定し ログ・ファイル(LOGFILE)も必ず*NONEに指定すること。

[注意]

CVTRPGSRCコマンドで生成されないのは定義仕様書(D)である。
定義仕様書とは変数の定義をする仕様書であり一般の開発言語(Java, VBA, VB, VC++, C#)などでは
最初に使用する変数や関数も定義しておくということが一般的である。
ILE-RPGもこれに習うのであれば定義仕様書で次のように定義する必要がある。

0006.00 D CMD             S            128A                                      
0007.00 D PGM             S             10A                                      
0008.00 D OBJLIB          S             10A                                      
0009.00 D SRCF            C                   CONST('QRPGLESRC/QTRSRC')          
0010.00 D AUT             C                   CONST('AUT(*ALL)')  

[フリー・フォーマットへの変換について]

今のところIBMはRPG IIIをILE-RPGのフリー・フォーマットへ変換するユーティリティは
提供していない。
米国製品ではフリー・フォーマットへの変換ソフトが販売されているようであるが
あまり普及はしていないようである。
しかしフリー・フォーマットもある程度理解しておかないとIBM iの新しいバージョンの
サンプ・ソースはほとんどフリー・フォーマットで書かれていることが多い。
H-仕様書やF-仕様書までフリー・フォーマットにするメリットはあまり感じられない。
フリー・フォーマットは演算仕様書の一部だけに留めておくだけで十分である。