!--a11y-->

画面、およびその画面の制御ロジックによって Dynpro が形成されます。これは、一連のダイアログモジュールをコールすることによって、ABAP プログラムのフローを制御するインスタンスです。順序の中でいくつかの画面を組み合わせることができます。順序の中では、静的または動的に次の画面を定義することができます。最も簡単な画面順序は、単一画面です。順序は、初期画面をコールしたときに始まります。順序を開始するには、さまざまな方法があります。
独自の画面を持つ ABAP プログラム ( タイプ 1 、M 、F) では、次の命令
CALL SCREEN <dynnr>
を使用して、プログラム内で画面および画面順序をコールすることができます。各画面の制御ロジックは、画面を呼び出したプログラム内でダイアログモジュールをコールします。
画面順序が終了すると、元の CALL SCREEN 命令の後で制御が命令に返されます。
メインプログラム ( 通常はモジュールプール) には、1 つのトランザクション ( またはトランザクションコード) がリンクしています。
ABAP プログラムからトランザクションをコールするには、次の命令
CALL TRANSACTION <tcod> ...
または
LEAVE TO TRANSACTION <tcod> ...
を使用します。トランザクションコードを定義したときに指定した初期画面で、トランザクションが開始されます。トランザクションのプログラムは、新しい内部セッションで開始され、 独自の SAP LUW を持ちます。画面順序の中の画面は、メインプログラム内のさまざまなダイアログモジュールをコールします。
画面順序が終了すると、CALL TRANSACTION 命令が含まれているプログラムに制御が返されます。LEAVE TO TRANSACTION を使用してトランザクションを開始した場合は、呼出元プログラムが開始された場所へ制御が返されます。
ダイアログモジュールは、メインプログラム ( 通常はモジュールプール) の画面にリンクすることができます。
ABAP プログラムからダイアログモジュールをコールするには、次の命令
CALL DIALOG <diag> ...
を使用します。ダイアログモジュールを定義したときに指定した初期画面で、ダイアログモジュールが開始されます。ダイアログモジュールのプログラムは、新しい内部セッションで開始され、 独自の SAP LUW を持ちます。画面順序の中の画面は、メインプログラム内のさまざまなダイアログモジュールをコールします。
画面順序が終了すると、ダイアログモジュールのコールの後で制御が命令に返されます。
ダイアログモジュールは廃止されており、現在は使用されていません。代わりに、画面順序を汎用グループ内でカプセル化し、適切にプログラムされた汎用モジュールから、カプセル化された画面順序をコールすることができます。
画面が終了したとき、および定義された次の画面の番号が 0 のときに、画面順序が終了します。
順序内の単一画面を終了するには、次の命令
LEAVE SCREEN
または
LEAVE TO SCREEN <dynnr>
を使用します。これらの命令によって現在の画面が終了し、定義されている次の画面がコールされます。次の画面の番号が 0 の場合は、画面順序全体が終了します。
特別な画面には、次の 3 つのタイプがあります。
選択画面は特別な画面の一種で、ABAP 命令を使用して作成します。選択画面をコールするには、必ず次の命令
CALL SELECTION-SCREEN <dynnr> ...
を使用します。選択画面は、呼出先プログラムで処理されます ( 選択画面のユーザ入力に対する応答イベントが処理されます) 。
画面順序の各画面には、対応する一覧システムが 20 種類のレベルで定義されています。この一覧システムを開始するには、次の命令
LEAVE TO LIST-PROCESSING [AND RETURN TO SCREEN <dynnr>]
を使用します。この命令は、システムプログラムをコールします。システムプログラムには、一覧で使用される標準のコンテナ画面が含まれています。この処理によって、表示されている画面が変わります。この画面には、1 つの基本一覧と、最大 19 個の詳細一覧を表示することができます。一覧処理 ( 一覧のイベントにおけるユーザアクションへの応答) は、呼出先プログラムで発生します。
一覧システムを終了するには、次の命令
LEAVE LIST-PROCESSING
を使用します。
実行可能プログラムで、最後のレポートイベントの後に、一覧システムが自動的にコールされます。
画面の制御ロジックの PBO イベントでは、次の命令を使用して従属画面をコールすることができます。
CALL SUBSCREEN <area> INCLUDING [<prog>] <dynnr>
コールする従属画面の画面は、メイン画面の従属画面領域 <area> に定義されます。
プログラム <prog> を指定しない場合は、現在の ABAP プログラムの画面が使用されます。プログラム <prog> を指定した場合は、従属画面のプログラム <prog> の画面が使用されます。このプログラムは、外部サブルーチンコールと同じように処理されます。つまり、呼出元プログラムのプログラムグループにロードされるか、または汎用グループの場合は、独自のプログラムグループとして、呼出元の ABAP プログラムと同じ内部セッションでロードされます。