イベントブロック
ABAPプログラムの実行順序は、イベントブロックで制御される。ABAPランタイムシステム(WP)によって、決まった順番で呼び出されている。基本的にイベントブロックは、プログラム上で明記する必要がある。しかし全くイベントブロックが指定されない場合は、デフォルトでSTART-OF-SELECTION.のイベントブロックが利用されている。尚、イベントブロックの始まりは、書くイベントブロックのキーワードによって定義する。次のイベントブロックが始まるまでが、一つのイベントブロックとして処理される。
処理順序は下記の通り。
データオブジェクトの初期化が主な役割。
ユーザからの入力値のチェックが主な役割。
データの取得や、示といった、プログラムのメイン処理が主な役割。
論理データベースからのデータ取得が主な役割。
一覧内のページヘッダーの付与が主な役割。
一覧内のページフッターの付与が主な役割。
プログラムや一覧の最後の後処理が主な役割。
詳細一覧の作成が主な役割。
処理順序は下記の通り。
- LOAD-OF-PROGRAM.
- AT SELECTION-SCREEN.
- START-OF-SELECTION.
- GET.
- TOP-OF-PAGE.
- END-OF-PAGE.
- END-OF-SELECTION.
- AT LINE-SELECTION.
LOAD-OF-PROGRAM.
プログラム開始直後(一番最初)に実行されるイベントブロック。INITIALIZATIONは同義。データオブジェクトの初期化が主な役割。
AT SELECTION-SCREEN.
選択画面からのユーザによるアクションの直後に実行されるイベントブロック。ユーザからの入力値のチェックが主な役割。
START-OF-SELECTION.
AT SELECTION-SCREEN イベントの直後に実行される。他に一切イベントブロックがないときに呼ばれてくる、標準イベントブロックでもある。データの取得や、示といった、プログラムのメイン処理が主な役割。
GET.
論理データベースがデータを投げてきたときに呼び出されるイベントブロック。基本的には、START-OF-SELECTION イベントの後。論理データベースからのデータ取得が主な役割。
TOP-OF-PAGE.
SAP画面での一覧出力で、ページが切り替わった直後に実行されるイベントブロック。一覧内のページヘッダーの付与が主な役割。
END-OF-PAGE.
SAP画面での一覧出力で、ページが切り替わる直前に実行されるイベントブロック。一覧内のページフッターの付与が主な役割。
END-OF-SELECTION.
実行中のプログラムのメイン処理が終了する直前に実行されるイベントブロック。このイベントブロックが終了すると、一覧が出力されるか、プログラムは終了していく。プログラムや一覧の最後の後処理が主な役割。
AT LINE-SELECTION.
一覧が出ている状態から、ユーザがOK_CODE「PICK」をトリガすることで呼び出されるイベントブロック。詳細一覧の作成が主な役割。
2009年08月26日(水) 16:00:02 Modified by chocolate_mousse