「ILE & FF RPGのススメ」が教えるILE RPGの習得法~ ILE RPGの理解がFF RPGをより魅力的にする

text:高橋 昌宏 ソリューション・ラボ・横浜

ILE RPGの魅力的な機能①
モジュール化

ここで、ILE RPGについての理解を深めよう。前述したように、ILE RPGをフリーフォーム形式に書き換えたのがFF RPGである。

ツールを使用して、RPG ⅢからFF RPGへ変換する場合も、一度CVTRPGSRCコマンドを使用してILE RPGへ変換したあとに、FF RPGへ変換する。

このコンバージョン方式では、RPG Ⅲの手続型ロジックをFF RPGの構文ロジックに変更するだけとなる。そのため、オープン系のロジックに近づけ、よりFF RPGの魅力を引き出すには、ILE RPGに用意されている機能を活用する必要がある。

ILE RPGの代表的な機能は、モジュール化である。モジュールは簡単に言えば、ロジックの部品化である。別々のプログラムで同じロジックを書かないように、共通ロジックを部品化し、必要に応じてモジュールを呼び出すことで求める結果を得る。

「RPG Ⅲの外部サブルーチンと同じじゃないか」と思うかもしれないが、大きな違いはモジュール単体では実行できず、バインドすることでプログラム内部に取り込まれ、実行可能となる点だ。

内部に取り込むことで、呼び出し実行時のオーバーヘッドが削減され、外部サブルーチンよりも高パフォーマンスを得られる。こういった部品化はオープン系では一般的であり、部品化することでプログラム作成の工数削減、保守性の向上が図れる。

ILE RPGの魅力的な機能②
関数の利用

次にILE RPGで特徴的なのは、豊富に用意されている関数を利用することである。

RPG Ⅲでは、ロジックで対応していたことが関数として用意されている(リスト2)。

 

リスト2

 

このように関数の利用とあわせ、EVALを使用した演算や変数の代入、IF文を使用することで、ILE RPGでもFF RPGに近いプログラムコードを書ける。

このほか、データ操作関数(SPLIT、SCANRPL)など便利な関数がある。今までロジックで対応してきたことが、関数で簡単に処理可能になる。

ILE RPGの魅力的な機能③
ファイル名とフィールド名10桁

さらに、ファイル名とフィールド名10桁がサポートされたことも魅力である。

RPG Ⅲでは、別ファイルでのフィールド名が同じ場合はRENAMEの処理が必要であり、そのためファイルのフィールド名の定義が同じ意味合いのあるフィールドでも、異なるフィールド名として定義されてきた(リスト3)。

 

リスト3

 

また同一フィールドにしたことで、ファイル別に判別する方法としてPREFIX機能がある(リスト4)。

 

リスト4

 

同様にプログラム内部変数名も長い名前を使用でき、プログラムの可視化に貢献する(リスト5)。

 

リスト5

 

このほかにもサービスプログラムや活動化グループなどがある。このようなILE RPGの機能を理解し、FF RPGに取り入れることで、プログラム構造がオープン系に近づき、FF RPGの魅力が発揮される。

それには、FF RPG習得の前提としてILE RPGを習得する必要がある。FF RPGの前にまず、ILE RPGへの転換を推奨する(図表6)。

図表6 ILE RPGの講習プログラムの例

 


著者|高橋 昌宏氏

ソリューション・ラボ・横浜株式会社
ソリューション事業統括
西日本支店 支店長

福岡県生まれ 50歳。22年間、福岡のSIerでIBM i関連の仕事に従事。2020年に転職後も同様にIBM i関連の仕事を継続。長年、IBM iのテクノロジーに魅了され、技術者としてさまざまな取り組みを実施。近年はプロジェクトマネジメントに主軸に置きながら、Web対応をはじめとした新しいIBM i活用の取り組みを行っている。

 

特集 ILE & FF RPGのススメ

❶FF RPG採用のメリット|IBM i技術者問題を解決し、ソース管理を高度化する「ILE & FF RPGのススメ」 ~RPG Ⅲを脱却し、プログラム資産をより有効に活用

❷FF RPG導入の課題|FF RPGの技術者が乗り越えるべき課題

❸FF RPGの習得|ILE RPGの理解がFF RPGをより魅力的にする

❹FF RPGの導入と習得|RPG Ⅲ技術者とオープン系開発者 スキルに応じた習得ステップ

❺特別座談会|FF RPGをメインに据えたRPG研修サービスを展開

 

[i Magazine 2021 Autumn(2021年10月)掲載]

More Posts