IBMi(AS400)ユーザーの為の情報ページ(作成中)
(1)ソースファイルの拡張
ILE RPGを利用するにはソースの最大レコード長が112になっている必要があるが、従来のRPGしが利用していない場合は最大レコード長が92になっている。
ソースファイルのレコード長は「DSPFD FILE(ライブラリー/QRPGSRC) TYPE(*RCDFMT) 」で確認出来る。
ソースファイルの管理方法としては2通りある。
①ILE RPG専用のソースファイルを作成する。
(RPGⅢとILE RPGのソースを分けて管理する)
現在使用しているソースファイルの変更が出来ない場合やメンバーの作成日を管理している場合はこちらの方法を利用する事になるが、メンバー名が重複しないように管理する必要がある。
②現在のソースファイルのレコード長を拡張する。
(RPGⅢとILE RPGのソースを一緒に管理する)
メンバーの作成日が変わっても問題ない場合は管理人としてはこちらを推奨する。
①の方法で管理する場合
1.「QRPGLESRC」を作成する
コマンド:CRTSRCPF FILE(ライブラリー/QRPGLESRC) RCDLEN(112) IGCDTA(*YES)
②の方法で管理する場合
現在のソースファイルのレコード長を増やす事が出来ないので以下の手順が必要。
1.「QRPGSRC」を「QRPGSRCZZ」に名前を変更する
コマンド:RNMOBJ OBJ(ライブラリー/QRPGSRC) OBJTYPE(*FILE) NEWOBJ(QRPGSRCZZ)
2.「QRPGSRC」を作成する。
コマンド:CRTSRCPF FILE(ライブラリー/QRPGSRC) RCDLEN(112) IGCDTA(*YES)
3.「QRPGSRCZZ」から全てのメンバーをコピーする。
コマンド:CPYSRCF FROMFILE(ライブラリー/QRPGSRCZZ) TOFILE(ライブラリー/QRPGSRC) FROMMBR(*ALL) TOMBR(*FROMMBR)
★ /COPYで別のソースファイルからコピーしている場合
管理人の会社では昔からQCOPYSRCがあり、RPGでよく利用するソース部分を置いておき/COPYで利用している。
その為、従来のRPG用とILE RPG用の2つ用意しておく必要がある。
当方ではQCOPYLESRCを作成し、全てのソースをILE RPGに変換して利用している。
コマンド:CRTSRCPF FILE(ライブラリー/QCOPYLESRC) RCDLEN(112) IGCDTA(*YES)
コマンド:CVTRPGSRC FROMFILE(*LIBL/QCOPYSRC) FROMMBR(A) TOFILE(*LIBL/QCOPYLESRC) TOMBR(*FROMMBR) LOGFILE(*NONE)
変換は1メンバー毎にしか行えない為、数が多いと大変です。