!--a11y-->

外部プロシージャ呼出では、呼び出された単位は呼出元プログラムの一部ではありません。つまり、実行時に、外部プログラムは 呼出元プログラムの内部セッション内にロードされる必要があります。プロシージャおよび従属画面の外部呼出を使用することができます。
追加でロードされたプログラムは、独自のグローバルデータ領域を持つインスタンスです。外部サブルーチンを呼び出す際は、呼出元プログラムおよびロードされたプログラムは、ロードされたプログラムが汎用グループでない場合、単一のプログラムグループを形成します。汎用グループは常に独自のプログラムグループを形成します。さらに、外部からメソッドを呼び出す際は、メソッドおよびそのクラスは独自のプログラムグループを形成します。プログラムグループ内では、インタフェース作業領域 および呼出元プログラムの画面は共有します。クラスにはインタフェース作業領域を含めることができません。
すべての プロシージャ ( サブルーチン、汎用モジュール、およびメソッド) は、どの ABAP プログラムからでも外部呼出が可能です。
キ サブルーチンに対して外部呼出を使用することはお奨めしません。これは、特に、サブルーチンが インタフェース作業領域 を呼出元プログラムと共有し、独自の画面を呼び出す場合です。サブルーチンの主要プログラムがロードされるプログラムグループは、呼出順序によって異なります。呼出順序はしばしば静的に定義されませんが、変更はユーザアクションまたは項目の内容によって異なります。このため、どの インタフェース作業領域 および画面が外部呼出のサブルーチンによって使用されるかは明確ではありません。
キ 汎用モジュールは、外部プロシージャ呼出のために使用します。
キ グローバルクラスの外部可視メソッドへのアクセスは、外部プロシージャ呼出になります。
従属画面 画面 は、CALL SUBSCREEN 命令による現在のプログラムとしてではなく、ABAP プログラムを指定して、外部として呼び出すことができます。このプログラムは、外部サブルーチン呼出の場合と同様に扱われます。つまり、このプログラムは呼出元プログラムのプログラムグループにロードされるか、またはこれが汎用グループであれば、呼出 ABAP プログラムと同じ内部セッションの独自のプログラムグループとしてロードされます。
このため、外部サブルーチンで発生するのと同じ問題が インタフェース作業領域 および画面呼出で発生するので、汎用グループに属さない外部従属画面を使用してはいけません。