2
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 1 year has passed since last update.

ILERPGAdvent Calendar 2022

Day 2

サービスプログラムを作成できるようになるまで(1)_サービスプログラムの前提

Last updated at Posted at 2022-12-01

はじめに

日頃プログラム開発をしている中で、頻繁にサービスプログラムを使用しています。
サービスプログラムは、どのプログラムからでも共通のロジックとして呼び出すことが可能で、仮にロジックに変更が必要になった際も、このサービスプログラムを修正することで全てのプログラムに反映することができます。

そんなプログラム開発をする上で欠かせないサービスプログラムの、一から学習した記録をシリーズに分けてご紹介します。

サービスプログラムを作成する前に

サービスプログラムを作成する前に、まずはサービスプログラムが作成可能となった ILE(統合化開発環境)の考え方を知る必要があります。

ILE-RPG は以下の順でプログラム・オブジェクトが作成されます。(画像1)

  1. ソース・メンバーからモジュールを生成する。CRTRPGMOD
  2. 一つ以上のモジュールをバインドしてプログラムを作成する。CRTPGM

(画像1)
createServiceProgram-01_01.jpg

本来は ① モジュールの作成 ② モジュールからプログラムの作成、という二工程が必要ですが、単一のソース・メンバーからプログラムを作成する際はCRTBNDRPGを実行することで、この二つの工程を同時に処理することができます。

従来の考え方である OPM (Original Program Model)は、単一のソース・メンバーをコンパイルすることでプログラム・オブジェクトを作成するという一工程を実行しています。CRTRPGPGM(画像2)

(画像2)
createServiceProgram-01_02.jpg

サービスプログラムはなぜ実現可能なのか?

実は前述の内容には不足している部分があります。
正しくは、② のモジュールからプログラムを作成する際に、サービスプログラムもバインドすることが可能です。

つまり、単一のソース・メンバーからプログラムを作成する OPM に対して、複数のモジュール、及びサービスプログラムを組み合わせてプログラムを作成することが前提の、 ILE だからこそ、他のプログラムからサービスプログラムを呼び出すことが可能です。

おわりに

今回はサービスプログラムの実現を可能としている ILE(統合化開発環境)についてご紹介しました。

最後までお読み頂きありがとうございます。

関連した投稿

サービスプログラムを作成できるようになるまで(2)_サービスプログラムが実行される流れ
サービスプログラムを作成できるようになるまで(3)_サービスプログラムの作成
サービスプログラムを作成できるようになるまで(4)_サービスプログラムの実行

2
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
2
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?