APAP アドオンプログラムのイベントブロック

  選択画面&イベント

概要

ABAPプログラムの実行順序は、イベントブロックで制御されており、ABAPランタイムシステム(WP)によって、決まった順番で呼び出されている。
基本的にイベントブロックは、プログラム上で明記する必要がある。しかし全くイベントブロックが指定されない場合は、デフォルトでSTART-OF-SELECTION.のイベントブロックが利用されている。
イベントブロックの始まりは、書くイベントブロックのキーワードによって定義し、次のイベントブロックが始まるまでが、一つのイベントブロックとして処理される。

処理順序は下記

LOAD-OF-PROGRAM.
INITILIZATION.
AT SELECTION-SCREEN.
START-OF-SELECTION.
TOP-OF-PAGE.
END-OF-PAGE.
END-OF-SELECTION.
AT LINE-SELECTION.

LOAD-OF-PROGRAM.

プログラム開始直後に実行されるイベントブロック。
データオブジェクトの初期化が主な役割だと思われるが、初回しか実行されない為
INITIALIZATION.を使用するケースの方が多いだろう。

INITIALIZATION.

選択画面の表示前に実行されるイベントブロック。
データオブジェクトの初期化が主な役割。

AT SELECTION-SCREEN.

選択画面からのユーザによるアクションの直後に実行されるイベントブロック。
ユーザからの入力値のチェックが主な役割。

START-OF-SELECTION.

AT SELECTION-SCREEN イベントの直後に実行される。他に一切イベントブロックがないときに呼ばれてくる、標準イベントブロックでもある。
データの取得や表示といったプログラムのメイン処理が主な役割。

TOP-OF-PAGE.

SAP画面での一覧出力で、ページが切り替わった直後に実行されるイベントブロック。
一覧内のページヘッダーの付与が主な役割。

END-OF-PAGE.

SAP画面での一覧出力で、ページが切り替わる直前に実行されるイベントブロック。
一覧内のページフッターの付与が主な役割。

END-OF-SELECTION.

実行中のプログラムのメイン処理が終了する直前に実行されるイベントブロック。このイベントブロックが終了すると、一覧が出力されるか、プログラムは終了していく。
プログラムや一覧の最後の後処理が主な役割。

AT LINE-SELECTION.

一覧が出ている状態から、ユーザがクリック等することで呼び出されるイベントブロック。
選択した行の情報を取得できるので、さらに詳細画面へ遷移したり、別トランザクションへ飛ばす事もできる。