FBI BLOG

ブログ記事

最終更新日: 2024.11.26

RPGⅢからILERPG、そしてFreeFormRPGへのコンバートを徹底解説

<前回の記事>
FFRPG言語徹底解説~ILERPGへのコンバート方法~

ILERPGからFreeFormRPGへのソースコンバート

前回は RPGⅢ から ILERPG へのコンバート方法についておさらいしました。
今回は【特別編】RPGⅢ→ILERPG→FreeFormRPGコンバートをFREE(タダ)で!その2 として、 ILERPG から FFRPG へのソースコンバートを行います。

VSCodeにIBMi接続とFFRPG変換を追加

最初に Visual Studio Code(以降VSC)の拡張機能に IBMi 接続と FFRPG 変換を追加します。前回に引き続き EOL に登録されているソースコードを使用します。

EOLについてはコチラを参照ください。
(https://www.i-learning.jp/service/selfstudy/eol.html)

Code for IBM i

検索欄に”Code for IBM i”と入力すると、検索結果が表示されます。
“Code for IBM i” が見つかったら[インストール]を押して拡張機能の導入を行います。

RPGLE Free

次に“RPGLE Free”を検索して同様にインストールします。

導入が終わりましたら、IBM i の接続設定を行います。

IBM iの接続設定

アクティビティバーにある[IBMi]をクリックします。

サイドバーにある[+]をクリックします。

Connection Name:接続名
Host or IP Address:接続先IBMiのIPアドレス
Username:ユーザーID
Password:パスワード
SavePassword:チェックを付けると登録したユーザーID・パスワードで自動ログインされます[Save&Exit]を押して保存、終了を行います。
サイドバーの[SERVERS]に登録した情報が表示されます。

登録したIBM iのログイン情報

追加されたアイコンをクリックしてしばらく待つとIBM iへ接続されます。

IBM iに接続できない場合はSSHDを起動

接続できない場合は、IBM i 側でsshdが開始されていないので、IBM iのコマンド入力画面からsshdの起動を行ってください。
STRTCPSVR SERVER(*SSHD)

フィルターの作成

接続が成功すると、サイドバーがエクスプローラーになります。
OBJECT BROWSERから[+ Create New Filter..]をクリックします。

Filter name:定義するフィルター名
Library:ライブラリー名(ここではQEOLICJ)
Object:オブジェクト名(ここではQ*Object type filterSRCPF 変更なし
最下部にある[Save settings]を押します。

フィルターが作成されました。
作成されたフィルターをクリックします。

フィルターの条件に合致するオブジェクト(Name:Q*、Type:ソースファイル)が表示されます。QEOLRPGLEをクリックしてメンバーを展開します。

ソースファイル:QEOLICJ/QEOLRPGLEに登録されているメンバーが表示されます。
[BPL010.RPGLE]をクリックしてソース編集画面を開きます。

※コンバートを行う際の注意

コンバートを行う際は、事前にソースメンバーのバックアップを行ってください。バックアップを作成しないと、不慮の事故で上書きされた時に復旧できなくなります。

ILERPGからフリーフォームRPGへ変換

プログラムソースがエディター部分に表示されます。

エディター部分をクリックして[Ctrl]+[a]で全て選択を行います。

ソースコードが選択された状態で、右クリックします。

ポップアップメニューにある[Convert to Free Format]をクリックします。

反転された部分が固定ILERPGからフリーフォームRPGへ変換されました。
[Ctrl]+[s]で上書き保管か名前を付けて保管ができます。

STRPDMのメンバー処理でコンパイル

コンパイルはSTRPDMのメンバー処理から行います。オプションに14を入力して[実行]、または[F4]を押してオプションを指定します。

オプションを指定

まとめ

前回と今回の2回にわたり、無料でFreeFormat変換を行う方法を紹介してきました。
いかがでしたでしょうか。もちろん、機能や変換精度ではARCAD Transformer RPG に軍配が上がります。変換後のソースでコンパイルエラーになる事もありますが、FFRPGに触れる取り掛かりとして一度試してみてはいかがでしょうか。

執筆者プロフィール


こんにちは。株式会社福岡情報ビジネスセンターの江口です。
今回もFREE FORM RPG(以降、FFRPG)について、あれこれ書かせて頂きます。
簡単な経歴ですが、入社(1987)から1年間はCOBOLプログラムの開発、その後2年ほどバロースBASIC、PROGRESS/2を経てS/36での開発に携わりました。RPG2です。後はS/38(RPG3)、AS/400(RPG3・ILERPG)と順当にアップデートして現在のIBMiへと続いているので、30年ほどRPG関係の開発を行っています。

そんなご質問・ご相談でも大歓迎です!

ITの力で企業の未来を支える

お気軽にお問い合わせください。
お客様のご要望に合わせて、最適なシステムをご提案いたします。

お問い合わせ