株式会社福岡情報ビジネスセンターFukuoka Business Information Technology Center
FBI BLOG
ブログ記事
最終更新日: 2023.10.18
皆さまこんにちは! 株式会社福岡情報ビジネスセンターの江口です。 今回からFREE FORM RPG(以降、FFRPG)について、あれこれ書かせて頂きます。 簡単な経歴ですが、入社(1987)から1年間はCOBOLプログラムの開発、その後2年ほどバロースBASIC、PROGRESS/2を経てS/36での開発に携わりました。RPG2です。後はS/38(RPG3)、AS/400(RPG3・ILERPG)と順当にアップデートして現在のIBMiへと続いているので、30年ほどRPG関係の開発を行っています。
目次
今回はFFRPGについて、の前にRPG3、ILERPG、FFRPGの比較を行います。サンプルプログラムを用意しました。 簡単な金額計算とファイル更新を行うプログラムです。
①RPG3
まずはRPG3のソースコードです。簡単に説明します。 0001.00のH仕様書はお約束 日付:YMD形式で/区切りが入ります 0002.00のF仕様書は使用するファイルの定義 0004.00~0014.00はプログラムロジック 金額計算とレコードの更新を行っています 0016.00のLR標識をオン、0017.00の呼び出し元への戻し でプログラム終了です。 ほっとしますね。長くIBMiを使われているお客様のソースコードを見せていただくと、ほとんどの場合はRPG3でコーディングされています。
②ILERPG
次にILERPGのソースコードです。
ちょっと横に長くなったかな?くらいしか違和感はありませんがRPG3と比較すると例えば、C仕様書の項目1・項目2・結果のフィールドの名前の長さが14桁まで使用できるように拡張されたり、命令コードの桁数が10桁に拡張され、RPG3では短縮されていた命令コードを自然な違和感のない命令に変更されています。また組み込み関数を使用できるようになり、ロジックを簡潔に記述できます。 実はOS/400 7.1.0 TR7以前はC仕様書だけフリーフォームに対応していました。7桁目から”/FREE”と記述すれば”/END-FREE”と記述した行までフリーフォームとして認識してくれます。
③FFRPG
最後にFFRPGです。
FFRPGの場合はRPG3、ILERPGと違ったエディタを使用します。統合開発環境で名前はRDi(Rational Developer for i)です。Eclipseベースの開発環境なので、Java、PHP、Python等の開発を行っている方でしたら違和感なく使用できます。FFRPGのソースコードを拡大します。
FFRPGでは6桁目の仕様書区別はありません。1行目に”**FREE”と記述するとコンパイラは完全フリーフォームと認識します。H仕様書はCTL-H、F仕様書はDCL-Fで定義します。
次回は固定フォームとFFRPGの違いについて深堀りしていきます。 (江口)
▼次の記事を読む FFRPGの仕様を解説!
FFRPGの仕様を解説!
お気軽にお問い合わせください。 お客様のご要望に合わせて、最適なシステムをご提案いたします。