プログラムのメモリ構造

このトピックでは、ABAPプログラム実行時のメモリ構造を取り上げて説明します。

 

サーバへログインすると、ユーザに1つの「ユーザセッション」が開かれます。 ユーザが同時に最大6つのウィンドウを開くとができます。これらのウィンドウはそれぞれ、アプリケーションサーバ上で共有メモリの専用領域を使用する「メインセッション」に対応しています。

メインセッションで起動した最初のアプリケーションプログラムによって、メインセッション内の内部セッションが開きます.

上記の図で示した通り、プリケーションプログラム(TYPE 1、TYPE M)が呼び出されるたびに、新しい内部セッションが作成されます。その他プログラムは新しい内部セッションを作成することがなく、必ず呼び出し元のアプリケーションプログラムの内部セッションで動作します。

ABAPプログラムの間にデータを共有できるメモリは、SAPメモリとABAPメモリの2種類がありまして、それぞれスコープが異なります。

  • SAPメモリ
    同じユーザセッション内にすべて可視です。別々のメインセッションで起動された各プログラムは同じSAPメモリを共有できます。
  • ABAPメモリ
    同じメインセッション内なら可視です。同じメインセッションで動作する各プログラムは同じABAPメモリを共有しています。