ILE の影響
- プログラムの呼び出し
- システムは、アプリケーション・プログラムを開始するときに活動化グループがまだなければ、
それを自動的に作成します。
アプリケーション・プログラムには、動的プログラム呼び出しまたは静的プロシージャー 呼び出しを含めることができます。 バインドされたプログラム内のプロシージャーは、静的呼び出しを使用してお互 いに呼び出します。 プロシージャーは、動的呼び出しを使用して ILE および OPM プログラムを呼び出 します。
- データ
- プログラム記憶域の存続時間は活動化グループの存続時間と
同じです。記憶域は活動化グループが削除されるまで活動状態のままです。
ILE RPG は、プログラム終了およびデータ再初期化の意味が OPM RPG の場合と同じになるように、実行時にデータを管理します。ただし、実際の記憶域は、OPM RPG プログラムが終了した時に削除されたようには、削除されません。 プロシージャーへの前の呼び出しが LR オンで終了するか、あるいは異常終了し た場合には、データが再び初期設定されます。
エクスポートまたはインポート (それぞれ EXPORT または IMPORT キーワード を使用) として識別されるプログラム・データは、個々のモジュールにとって は外部データです。 このデータは、各モジュール間では 1 つのプログラムにバインドされるものと して認識されます。
- ファイル
- デフォルトでは、システムによるファイル処理 (オープン、共用、 一時変更、およびコミットメント制御を含む) は、活動化グループ・レベルに 有効範囲指定されます。 データ管理レベルでは、別の活動化グループ内のプログラムとファイルを共用 することができません。 活動化グループをまたがってファイルを共用したい場合には、一時変更コマン ドで SHARE(*YES) を指定してジョブ・レベルでファイルをオープンするか、あ るいは SHARE(*YES) でファイルを作成しなければなりません。
- エラー
- 同一の活動化グループで ILE RPG プログラムまたはプロシージャーを呼び出す場合、
以前に照会メッセージを表示させるような例外があった場合には、ユーザーの呼び出し側プログラムは
最初にその例外を見ることになります。
ユーザーの呼び出し側プログラムにエラー標識または *PSSR があると、例外を起こしたプログラムまたは プロシージャーは照会メッセージを表示せずに異常終了することになります。ユーザーの呼び出し側プログラムは同じ動きをします (エラー標識がオンに設定 されるか *PSSR が呼び出されます)。
OPM プログラムまたは別の活動化グループ内のプログラムまたは メイン・プロシージャーを呼び出す時には、 例外処理は、OPM RPG における場合と同様に、各プログラムが自身の例外を処 理することになります。 表示するメッセージは新しいメッセージ ID をもつことができるので、 特定のメッセージ ID を監視する場合には、ユーザーはその ID を変更する必 要がある場合があります。
各言語はそれ自身のエラーを処理し、別の ILE 言語で書かれたモジュール内で起こるエラーを処理することができます。例えば、エラー標識がコーディングされている場合には、RPG で C 言語の エラーを処理します。 C で RPG エラーを処理することができます。