RPG

297. CVTRPGSRC コマンドの使用方法

IBM 提供の CVTRPGSRC (RPG ソースの変換)を使えばほとんどの RPG III ソースを
ILE-RPG に正しく変換してくれる。
しかし CVTRPGSRC の使い方が難しいのか(?) あまり利用されていないようなので
ILE-RPG の利用度は未だに低く RPG III が多いのも事実である。
しかし RPG III ユーザーの皆さんも RPG III ではこう書いていた書き方が
ILE-RPG ではどのように記述すればよいのかわからないので
いまだに RPG III に頼っている人も少なくないのではないだろうか。
今や RPG も FREE フォーマットの時代。ILE-RPG を覚えれば
RPG III の時代よりのびのびと自由に記述できる ILE-RPG や FREE フォーマットには
感動するかもしれない。
ILE-RPG への入り口は簡単で RPG III で一部だけでも書いてみてそれを
CVTRPGSRC で ILE-RPG に変換すればよいだけである。
コンパイルが通る完全な RPG III である必要はない。

【元の RPG III】
             * 日付                                               
     I            DS                                       
     I                                        1   80W@DATE 
     I                                        1   40W@YY   
     I                                        5   60W@MM   
     I                                        7   80W@DD   
【変換された ILE-RPG】
        * 日付                                  
      D                 DS                     
      D  W@DATE                 1      8  0    
      D  W@YY                   1      4  0    
      D  W@MM                   5      6  0    
      D  W@DD                   7      8  0    

どうだろうか ?
RPG III の一部だけでもどのように CVTRPGSRC を使って変換すればよいのだから
極めて気は楽になるし入り口は決して難しいものではない。

前置きが長くなってしまったが CVTRPGSRC コマンドの使用方法には
チョッとしたコツがある。
それを今から紹介しよう。

【CVTRPGSRC コマンドの使用例】
                           RPG ソースの変換  (CVTRPGSRC)                   

 選択項目を入力して,実行キーを押してください。                          

FROM ファイル  . . . . . . . . .   QRPGSRC        名前                   
   ライブラリー  . . . . . . . .     MYSRCLIB     名前 , *LIBL, *CURLIB  
FROM メンバー  . . . . . . . . .   PGM001         名前,総称* , *ALL    
TO ファイル  . . . . . . . . . .   QRPGLESRC      名前 , *NONE, QRPGLESRC
   ライブラリー  . . . . . . . .     MYSRCLIB     名前 , *LIBL, *CURLIB  
TO メンバー  . . . . . . . . . .   *FROMMBR       名前 , *FROMMBR        

 F3= 終了    F4=プロンプト   F5= 最新表示    F10= 追加のパラメーター

のようにソース・メンバーを指定してから、ここで「F10= 追加のパラメーター」を押す。

                 追加のパラメーター                                     
                                                                        
コピー・メンバーの拡張  . . . .   *NO           *NO, *YES               
変更報告書の印刷  . . . . . . .   *NO           *YES, *NO               
第2レベルのテキストの組込  . .   *NO           *NO, *YES               
仕様テンプレートの挿入  . . . .   *NO           *NO, *YES               
ログ・ファイル  . . . . . . . .   *NONE          名前 , *NONE, QRNCVTLG 
ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB  
ログ・ファイル・メンバー  . . .   *FIRST         名前 , *FIRST, *LAST   

この表示のように

変更報告書の印刷 .......................... *YES を *NO に変更
ログ・ファイル .............................. QRNCVTLG を *NONE に変更

この2ケ所を変更してから実行キーを押すと問題なく ILE-RPG ソースに変換される。
ただし漢字シフト文字を元の RPG III ソースで記述している場合は
変換後のコンパイルでエラーになる場合がある。
この対策は「56. ILE-RPG 変換のバグを補正する UPDRPGSRC」を参照して欲しい。

CVTRPGSRC を積極的に活用すれば短時間で ILE-RPG を
学習することができるはずである。
これであなたも ILE-RPG プログラマーの仲間入りである。