!--a11y-->

モジュールを呼び出すには、次の制御ロジック命令を使用します。
MODULE <mod>.
それにより、モジュール <mod> が起動されます。このモジュールは呼出を行うイベントブロックで定義されていなければなりません。
Dynpro 制御ロジックで単純なモジュールのみ使用する場合は、ABAP プログラムと Dynpro 間のデータ転送は次のようになります。
キ PAI イベントでは、自動入力チェックのあと、最初の PAI モジュールの呼出前に、Dynpro のすべてのデータが ABAP プログラムに移送されます ( ただし、Dynpro 項目と同じ項目がプログラムの存在しなければなりません) 。これにはシステム項目 ( 現在の機能コードを格納するSY-UCOMM など) の内容も含まれます。
キ 最後の PBO モジュールの終わりには、Dynpro の表示前に、ABAP プログラムのすべてのデータが Dynpro の同名の項目に移送されます。
アプリケーションサーバの各ダイアログステップの始まりと終わりに、Dynpro と ABAP プログラム間でデータがやりとりされます。これは、アプリケーションサーバ上の Dynpro とプレゼンテーションサーバ上の SAP GUI との間のデータ転送とは異なるため、混同しないようにしてください。

単純なモジュールコール
PROGRAM DEMO_DYNPRO_MODULE.
TABLES SDYN_CONN.
DATA: OK_CODE LIKE SY-UCOMM,
SAVE_OK LIKE OK_CODE,
WA_SPFLI TYPE SPFLI.
CALL SCREEN 100.
MODULE INIT_SCREEN_100 OUTPUT.
MOVE-CORRESPONDING
WA_SPFLI TO SDYN_CONN.
ENDMODULE.
MODULE STATUS_0100 OUTPUT.
SET
PF-STATUS 'STATUS_100'.
SET
TITLEBAR '100'.
ENDMODULE.
MODULE CLEAR_OK_CODE INPUT.
SAVE_OK =
OK_CODE.
CLEAR
OK_CODE.
ENDMODULE.
MODULE GET_DATA INPUT.
MOVE-CORRESPONDING
SDYN_CONN TO WA_SPFLI.
CLEAR
SDYN_CONN.
ENDMODULE.
MODULE USER_COMMAND_0100 INPUT.
CASE
SY-DYNNR.
WHEN
0100.
CASE SAVE_OK.
WHEN
'CANCEL'.
LEAVE
PROGRAM.
WHEN
'DISPLAY'.
PERFORM
READ_DATA.
WHEN
'CLEAR'.
CLEAR
WA_SPFLI.
ENDCASE.
...
ENDCASE.
ENDMODULE.
FORM READ_DATA.
SELECT SINGLE
CITYFROM AIRPFROM
CITYTO AIRPTO FLTIME DEPTIME ARRTIME
INTO CORRESPONDING FIELDS OF WA_SPFLI
FROM SPFLI
WHERE CARRID = WA_SPFLI-CARRID AND CONNID =
WA_SPFLI-CONNID.
ENDFORM.
Dynpro 100
の静的定義による次画面は 100
です。この Dynpro
では、ABAP
ディクショナリから
コピーされた構造SDYN_CONN
のコンポーネントが使用され、次のような外観になります。
この Dynpro 制御ロジックは次のとおりです。
PROCESS BEFORE OUTPUT.
MODULE
INIT_SCREEN_100.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE
CLEAR_OK_CODE.
MODULE
GET_DATA.
MODULE
USER_COMMAND_0100.
GUI
ステータス STATUS_100
では、シンボル
(F12)
が機能コード CANCEL
で有効に設定され、機能 DISPLAY
が機能キー F5
に、機能 CLEAR
が機能キー shift+F2
にそれぞれ割り当てられています。
このプログラムは、入出力項目の処理のセクションで示したサンプルプログラムと同様の機能があります。