呼び出しスタック
呼び出しスタックとは、呼び出しスタック項目のリストであり、後入れ 先出し (LIFO) 順序に従います。 呼び出しスタック項目は、プログラムまたはプロシージャーの呼び出し です。 1 つのジョブにつき 1 つの呼び出しスタックがあります。
ILE プログラムが呼び出されると、最初にプログラム入力プロシージャーが呼び出しスタックに追加されます。するとシステムは自動的にプロシージャー呼び出しを実行し、関連したユー ザーのプロシージャー (メイン・プロシージャー) が追加されます。 プロシージャーが呼び出される時に、 ユーザーのプロシージャー (メイン・プロシージャーまたはサブプロシージャー) だけが追加されます。 すなわちプログラム入力プロシージャーのオーバーヘッドはありません。
図 1 は、ILE プログラムを呼び出す OPM プログラムから構成されるアプリケーションの呼び出しスタックを示します。ILE プログラムの RPG メイン・プロシージャーは RPG サブプロシージャーを 呼び出し、次に C プロシージャーを呼び出します。本書の図では、最新項目がスタックの下部にあるということ に注意してください。
図 1. 呼び出しスタック上のプログラム呼び出しと
プロシージャー呼び出し

注: ユーザー入り口プロシージャー (UEP) の呼び出しは自動的に行われるので、
プログラム呼び出しでは、プログラム入力プロシージャーとユーザー入り口プロシージャーの呼び出しが同時に行われます。したがって
ここからは、プログラム呼び出しの 2 つのステップはこの章および残りの章で
出てくる呼び出しスタックの図表と合わせて参照してください。