!--a11y-->

独自の画面を持っており、タイプが 1 、M 、F のいずれかの ABAP プログラムは、独自の内部セッションで外部からコールすることも、独自の SAP LUW を使用してコールすることもできます。
次の命令を使用して、実行可能プログラムを直接コールすることができます。
SUBMIT <prog> ... [AND RETURN]
AND RETURN オプションを指定しない場合は、呼出元プログラムが終了し、新しい実行可能プログラム <prog> がコールされます。呼出元プログラムの内部セッションが、新しいプログラムの内部セッションに置き換えられます。新しいプログラムが終了すると、呼出元プログラムが開始された場所へ制御が返されます。
AND RETURN オプションを指定した場合は、実行可能プログラム <prog> が新しいセッションで開始されます。呼出元プログラムの内部セッションが返され、新しいプログラムが終了した後で、制御が呼出元プログラムへ返されます。
すべてのプログラム画面に対してトランザクションコードを割り当てることができます。通常は、1 つのモジュールプール内の 1 つの画面に対してトランザクションコードを割り当てます ( タイプ M のプログラム) 。このようにすると、次の命令のいずれかを使用してプログラムを開始できます。
LEAVE TO TRANSACTION <tcode> ...
または
CALL TRANSACTION <tcode> ...
トランザクションコードを定義したときに指定した画面を処理して、プログラムが開始されます。これは初期画面と呼ばれます。
LEAVE TO TRANSACTION オプションを指定した場合は、呼出元プログラムが終了し、内部セッションが、新しいプログラムの内部セッションに置き換えられます。新しいプログラムが終了すると、呼出元プログラムが開始された場所へ制御が返されます。
CALL TRANSACTION オプションを指定した場合は、新しい内部セッションで呼出元プログラムが開始され、呼出元プログラムの内部セッションは保持されます。新しいプログラムが終了すると、呼出元プログラムが開始された場所へ制御が返されます。
呼び出されたプログラムを終了するには、次の ABAP 命令を使用します。
LEAVE PROGRAM