自己学習メモインデックス
IBM i (旧AS400)の自己学習メモ02
AS400上でのプログラム開発 RPG
OPM RPG と ILE RPG
ざっくり表現すると、
- OPM RPGはRPG Ⅲ
- ILE RPGはRPG Ⅳ
を指すようだ。
- OPM RPG
- OPM(Original Program Model)と呼ばれる
-
CRTRPGPGM
コマンドによってプログラムオブジェクト(*PGM)のファイルを生成する- RPGソースコードをコンパイルして生成したプログラムオブジェクト
- ILE RPG
- ILE(Integrated Language Envoroment)
- プログラムオブジェクトの生成方法がOPM RPGよりもバリエーション豊富
-
CRTBNDRPG
コマンドでRPGソースコードをコンパイルしてプログラムオブジェクトを生成 -
CRTRPGMOD
コマンドでモジュール(*MODULE)を生成し、そのモジュールを利用してCRTPGM
コマンドによりプログラムオブジェクトを生成 - 生成したモジュールを利用し
CRTSRVPGM
コマンドによりサービス・プログラム(*SRVPGM)を生成 - サービス・プログラムとモジュールオブジェクトを複数組み合わせて
CRTPGM
によりプログラムオブジェクト(*RPG)を生成することが可能
-
- ILE RPGでは、1ソース=1プログラムオブジェクトではなく、Nモジュール+Nサービス=1プログラムオブジェクトという考え方となっている。
- サービスプログラムはWindowsでいうところのDLLであるため、生成されたプログラムオブジェクトに同梱されることがなく、実行時にサービスプログラムを参照して依存関係を解決する仕組みとなっている。
RPG開発
仕様書
RPGの開発では、プログラムの処理内容に応じた最大7種類の仕様書があり、必要に応じて使用する。
- 制御仕様書(H仕様書)
- プログラム名や日付の形式などの機能を指定し、プログラムの生成および実行に関する情報をコンパイラに提供する
- ファイル仕様書(F仕様書)
- プログラムで使用する全ファイルを記述する
- 定義仕様書(D仕様書)
- プログラムで使用するデータの固定情報や変数などを記述する
- 入力仕様書(I仕様書)
- プログラムで使用される入力レコードやフィールドを記述する
- 演算仕様書(C仕様書)
- プログラムの開始から終了までの処理の流れを記述する
- 出力仕様書(O仕様書)
- プログラムで使用される出力レコードやフィールドを記述する
- プロシージャ仕様書(P仕様書)
- サブプロシージャの始めと終わりにマークを付け、サブプロシージャ名およびエクスポートするかどうかの指示を記述する