ILE RPG モジュールは、メイン・プロシージャーおよびゼロまたは 1 つ以上のサブプロシージャー から構成されています(サブプロシージャーがある場合には、メイン・プロシージャーは任意指定です)。メイン・ プロシージャーとは、プログラム入力プロシージャーとして指定できる (したがって ILE プログラムが最初に 呼び出された時に制御を受け取る) プロシージャーです。 メイン・プロシージャーは、 モジュールを始める H、F、D、I、C、および O 仕様書のセットである 、メイン・ソース・セクションで定義されます。V3R1 では、すべての ILE RPG モジュールはメイン・プロシージャーをもち 、他のプロシージャーはもっていません。
サブプロシージャーは、メイン・ソース・セクションの後に 指定されるプロシージャーです。 サブプロシージャーは次の点で基本的にメイン・プロシージャーと異なります。
サブプロシージャーは、データ項目がローカルであるために、他のプロシージャーからの独立性を提供することが できます。 内部データ項目は通常、自動記憶域に保管されます。これは、ローカル変数の 値がプロシージャーへの呼び出し間で保存されないことを意味します。
サブプロシージャーは別の機能を提供します。 値によってサブプロシージャーにパラメーターを渡したり、 値を戻す式の中でサブプロシージャーを呼び出すことができます。 図 12 は、複数プロシージャーのあるモジュールがどのように見えるかを示しています。
図から分かるとおり、特定のタスクを処理するサブプロシージャーをコーディングすることが できます。 これらのタスクは、メイン・プロシージャーによって、またはアプリケーション・プログラム内の他の モジュールによって必要となる場合があります。 さらに、サブプロシージャー内で 一時データ項目を宣言することができますが、モジュール内のどこかで 宣言されている場合には、気にする必要はありません。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.