CRTBNDRPG コマンドによるプログラムの作成
この章では、バインド RPG プログラム作成 (CRTBNDRPG) コマンドにより、RPG IV ソース・プログラムを使用して ILE プログラムを作成する方法を示します。このコマンドによってユーザーは以下の 2 つのタイプの ILE プログラムのどちらかを作成することができます。
- 静的バインドを行わない OPM 互換プログラム
- 静的バインドを行う単一モジュールの ILE プログラム
最初のタイプのプログラム、2 番目のタイプのプログラム、どちらになる かは、CRTBNDRPG の DFTACTGRP パラメーターが、それぞれ *YES に設定されて いるか *NO に設定されているかによります。
最初のタイプのプログラムの作成でオープンの範囲指定、 一時変更の範囲指定、および RCLRSC の面で OPM プログラムのように機能する プログラムが作成されます。この高度の互換性は、1 つには OPM プログラムと同一の 活動化グループ、すな わちデフォルトの活動化グループ内で実行されることによります。
しかし、この高い互換性により静的バインド機能がなくなります。 静的バインドとは、プロシージャーを呼び出し (他のモジュールまたはサービス・
プログラム)、プロシージャー・ポインターを使用する機能のことです。 静的バインド機能がないと、以下のことができなくなります。
- ソース・ステートメントで CALLB 命令を使う
- プロトタイプ・プロシージャーを呼び出す
- プログラム作成時に他のモジュールにバインドする
2 番目のタイプのプログラムの作成では、静的バインドなどの ILE の特性をもつプログラムが作成されます。プログラム作成時に、プログラムを実行する活動化グループおよび 静的バインドのためのモジュールを指定することができます。 さらに、ソース・ステートメントから プロシージャーを呼び出すことができます。