4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RPGⅢ→RPGⅣへのコンバートをやってみた。~CVTRPGSRCの仕様紹介~

Last updated at Posted at 2024-10-07

RPGⅢのソースをRPGⅣ(ILE RPG)のソースに変換してくれるコマンドが[CVTRPGSRC]です。
コマンドは以下を参考にしてください。

CVTRPGSRC FROMFILE(TEST/QRPGSRC) FROMMBR(TEST001) TOFILE(*LIBL/QRPGLESRC)

(コマンド記述の説明)
ライブラリーTESTのファイルQRPGSRCにあるメンバーTEST001を
ライブラリー*LIBLのファイルQRPGLESRCにコンバートします。

このコマンドに関する詳細は以下のリンク先を参照ください。
 ・FFRPG言語徹底解説~ILERPGへのコンバート方法~
  https://fbicenter.co.jp/blog/20230515_ffrpg-convert
 ・RPGソースの変換 (CVTRPGSRC)
  https://www.ibm.com/docs/ja/i/7.5?topic=ssw_ibm_i_75/cl/cvtrpgsrc.html

CVTRPGSRCを実行する前にやるべき対策

  ファイル関連の記述をI仕様書の一番下に移動する

  CVTRPGSRC10.png
 この位置変更をするだけでコンバート後のソースを再編集する手間がとても減ります。
 位置変更を行わずにコマンドを実行すると、ファイル関連以下がD仕様書に変換されない
 ケースがとても多く、手動でD仕様書に変更する手間が出ます。

CVTRPGSRCを実行した後に確認するべき記述

ファイルに関連する標識の設定位置

 ファイルに関連する標識の記載位置をRPGⅣ用の記述位置に変更する必要があります。
 標識は赤枠部分に記載しないといけないが、位置変更されないケースが多発しています。
 CVTRPGSRC3.png

CVTRPGSRCで正しく変換されないケース例まとめ

CVTRPGSRCでコンバートした後にソースを変更する必要があるケースは複数あります。
筆者の環境で発生パターンが確認できているもので5パターンあります。(2024/09/25時点)
 ・ケース1~3:コンパイル時にエラーとなってしまうため修正必須です。
 ・ケース4  :コンパイルエラーは出ませんが、/COPYが展開されてしまいます。
 ・ケース5  :記述は正しくないですがコンパイルは通ります。

ケース1:ファイルに関連する標識を設定する処理と/COPYの並び順

RPGⅣでのソース記述は[/COPY]→[ファイル]となるよう記述を変更してください。
画像の並び順のままでコンパイルすると以下のエラー(*RNF0257)が出ます。
CVTRPGSRC4.png
CVTRPGSRC9.png

ケース2:ファイルに関連する標識を設定する処理の問題

 ファイルに付随する標識の記載位置をRPGⅣ用の標識記述位置に変更する必要があります。

RPGⅢ:コマンド実行前のソース
  CVTRPGSRC3-2.png
RPGⅣ:コマンド実行直後のソース(標識は赤枠部分に記載しないといけないためエラー)
 CVTRPGSRC3.png

ケース3:同一テーブルに関する記載がE仕様書、I仕様書に記載がある場合

/COPY内のフィールドに対する設定を行う場合は高確率で不具合が出ます。

RPGⅢ:コマンド実行前のソース
CVTRPGSRC5-1.png
RPGⅣ:コマンド実行後のソース(旧E仕様書・旧I仕様書のどちらの記述も残ってしまう)
CVTRPGSRC5-2.png
(※/COPY展開[*YES]にすると問題は解消しますが、/COPYの中身が展開され、
  PGM上で固定記載となるため、/COPYの記述である意味がなくなります)

ケース4:RPG3のソースタイプが[RPT]

ソースタイプが[RPT]の場合はコピー・メンバーの拡張を[*NO]にしても/COPY部分が
強制的に展開されます。※コンパイルは通ります。
CVTRPGSRC6.png

ケース5:データストラクチャ(DS)の設定が/COPYより上に記述されている

 /COPY部分はD仕様書になるはずですがコンバートされないケースがあります。
 ※コンパイルは通ります。
  RPG3:コマンド実行前のソース
 CVTRPGSRC2.png


4
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?