1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

IBM i (旧AS400)の自己学習メモ02

Last updated at Posted at 2018-11-27

自己学習メモインデックス

IBM i (旧AS400)の自己学習メモ インデックス

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仕様書)
    • サブプロシージャの始めと終わりにマークを付け、サブプロシージャ名およびエクスポートするかどうかの指示を記述する
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?