Dynproの開発
レポートプログラムをSE38で開き、
CALL (番号).
と記述し、番号の部分をクリックするとDynproエディタの画面に飛びます。またはSE51でSAMZXXXXのような名前で始まるプログラムを登録してください。
画面を作った後、注意するのは、制御ロジックタブに
PROCESS BEFORE OUTPUT (画面出力直前の処理)MODULE PBO.
PROCESS AFTER INPUT (画面を閉じた直後の処理)
MODULE PBI.
と記述することです。
画面の立ちあけの前または後の具体的な処理は、レポートプログラムに以下のモジュールを定義してその内部に記述します。
MODULE PBO OUTPUT (画面立ち上げ前の処理)処理記述
ENDMODULE.
MODULE PBI INPUT (画面終了後の処理)
処理記述
ENDMODULE.
画面終了後の処理を行うためには、Dypro属性の一般属性タブに「OK_CODE」を追加します。
MODULE PBO PROCESS AFTER INPUT (画面を閉じた直後の処理) の中に
CASE OK_CODE.
WHEN 'OK_CODEまたは機能コード'
ENDCASE.
CLEAR OK_CODE.
のようなイベント処理ルーチンを記述します。Dynpro画面のボタン制御をしたい場合には、そのボタンの機能コード(Dynpro作成画面でボタンのようなオブジェクトをダブルクリックすると出てくる画面に機能コードという項目を入力しといてください)をWHENの条件に入れます。また'EXIT',' BACKのようなOK_CODEもWHENの条件として使えます。
必要であれば,Dynpro画面が開く前の処理に( MODULE PBO OUTPUTの中でよい)、
SET PF-STATUS XXX.
と記述し、XXXをクリックすると、メニューや機能キー(ファンクションキー)を定義することができます。
SET TITLEBAR XXX.
と記述し、XXXをクリックすると、プログラムのタイトルをつけることができます。
Dynpro作成画面の属性の次画面という項目に、他のDyproの番号を入れれば終了後にそのDynproに飛ぶことができます。0の場合は呼び出しもとのプログラムに処理が戻ります。また、
SET SCREEN 番号
とプログラム中に記述しても、処理は指定したDynpro番号に飛びます。0番はもとの画面に戻ります。