!--a11y-->

Dynpro
制御ロジックには、Dynpro
の処理手順に関する部分が組み込まれます。制御ロジックの作成は、ABAP
エディタとよく似た
制御ロジックエディタを使用して行います。Dynpro
制御ロジックのプログラミングに使用される言語は、ABAP
に含まれるものではありませんが、ABAP
と同様の構文が使用されます。この言語を Dynpro
言語と呼ぶこともあります。
ABAP プログラムとは異なり、Dynpro 制御ロジックには明示的なデータ宣言は組み込まれません。Dynpro 項目の定義は、Dynpro マスク上にエレメントを配置することによって行います。
Dynpro 制御ロジックは、処理ブロックのコンテナとして機能するという点で、ABAP プログラムに似ています。次の 4 つのイベントブロックがあり、各ブロックは Dynpro キーワード PROCESS によって導入されます。
PROCESS BEFORE OUTPUT.
...
PROCESS AFTER INPUT.
...
PROCESS ON HELP-REQUEST.
...
PROCESS ON VALUE-REQUEST.
...
ABAP の場合と同様、イベントブロックは対応するキーワード命令によって導入され、次のブロックが導入されるか、またはプログラムの終わりになると終結します。最初の 2 つの命令は、新しい Dynpro の作成時にスクリーンペインタによって自動で生成されます。以下の対応するイベントが、実行時環境によってトリガされます。
キ PROCESS BEFORE OUTPUT (PBO) は、前の Dynpro の PAI 処理のあと、現在のDynpro が表示される前に自動でトリガされます。このブロックで、Dynpro の PBO 処理をプログラミングすることができます。PBO 処理の終わると、Dynpro が表示されます。
キ PROCESS AFTER INPUT (PAI) は、ユーザが Dynpro 上の機能を選択をするとトリガされます。このブロックで、Dynpro の PAI 処理をプログラミングすることができます。PAI 処理の終わると、次画面が呼び出されるか、または Dynpro の呼出が行われた位置で処理が続行されます。
キ PROCESS ON HELP-REQUEST (POH) は、ユーザが項目ヘルプ (F1) を要求したときにトリガされ、PROCESS ON VALUE-REQUEST (POV) は、ユーザが入力可能値ヘルプ (F4) を要求したときにトリガされます。それぞれのイベントブロックで、対応するコードをプログラミングすることができます。処理の終わると、現在の Dynpro の処理が続行されます。
イベントでの通常の場合と同じく、イベントブロックのプログラミングが必要なのは、制御ロジックに反応させるイベントに対してだけです。ただし、Dynpro 制御ロジックには、少なくとも PROCESS BEFORE OUTPUT と PROCESS AFTER INPUT の 2 つの命令が正しい順序で組み込まれていなければなりません。
イベントブロック内では、以下のキーワードを使用することができます。
|
キーワード |
機能 |
|
MODULE |
ABAP プログラム内のダイアログモジュールを呼び出します。 |
|
FIELD |
Dynpro 項目の内容を移送する時点を指定します。 |
|
ON |
FIELD と共に使用されます。 |
|
VALUES |
FIELD と共に使用されます。 |
|
CHAIN |
処理チェーンを開始します。 |
|
ENDCHAIN |
処理チェーンを終了します。 |
|
CALL |
従属画面を呼び出します。 |
|
LOOP |
Dynpro テーブルの処理を開始します。 |
|
ENDLOOP |
Dynpro テーブルの処理を終了します。 |
以降のセクションでは、個々の命令の機能について説明します。