イベントのコンセプト 

有効性 : バックグラウンド処理システム内のみ

イベントが意味を持つのはバックグラウンド処理システム内のみです。イベントはバックグラウンドジョブを開始する目的でのみ使用することができます。

イベントを開始すると、指定した条件が整ったことをバックグラウンド処理システムに通知します。バックグラウンド処理システムは反応し、イベントの終了時点まで待機しているジョブを開始します。

イベントのタイプ

イベントのタイプには以下の 2 つがあります。

イベント引数

イベント引数を使用することでイベントを限定することができます。イベント引数はテキスト文字列で、自由にイベントと関連付けることができます。以下の操作を行う際にイベント引数を指定できます。

イベント ID とは異なり、イベント引数は R/3 システム内では定義されません。

あるジョブをスケジュールする際に引数を指定すると、そのジョブは、対象イベントが開始された時に開始対象になります。そのジョブが開始可能になるのは、以下の場合です。

ジョブのスケジュール時に引数を指定しない場合、イベントの発生と同時にジョブを開始することができます。イベントに対してどのような引数列が与えられている場合にも、そのジョブは開始対象になります。

イベントの終了まで待機するジョブは以下の場合に開始されます。

ジョブ

イベント

結果

イベント ID “JSTART” 引数 “A” を用いたジョブのスケジュール

JSTART を引数なしで開始。

ジョブの開始

 

引数 “A” を使用して JSTART を開始

ジョブの開始

 

引数 “B” を使用して JSTART を開始

ジョブは開始されず、継続して JSTART の終了を待機。

イベント ID “JSTART” を用い、引数を指定しないジョブのスケジュール

JSTART を引数なしで開始

ジョブの開始

 

任意の引数を使用して JSTART を開始

ジョブの開始

 

バックグラウンドジョブとして実行中の ABAP プログラムは、プログラムの開始時にどのようなイベントと引数が指定されたのかを識別することができます。このことによってバックグラウンドで実行中の ABAP プログラムは、自分自身に指定された引数に依存するイベントに対して適切に反応することができます。

: イベントおよびイベント引数

操作モードが切り替わると、バックグラウンド処理システム内でイベントが開始されます。そのイベントは SAP_OPMODE_SWITCH という R/3 システムのイベントです。イベントの引数は新規操作モードの名称になります。

引数 NIGHT を指定して、イベント SAP_OPMODE_SWITCH の終了を待機するジョブをスケジュールすると、そのジョブは、次回に操作モード NIGHT が有効になった時に開始対象となります。

イベントの発生時に繰り返して実行するジョブをスケジュールすることもできます。前出の例では、操作モード NIGHT が最初に有効になった時だけではなく、有効になるたびにジョブが実行されます。

ジョブスケジュール機能の操作モードボタンを使用して、ある操作モードが有効になるまで待機するジョブをスケジュールすることができます。 SAP_OPMODE_SWITCH イベントの終了を待機するジョブをスケジュールする必要はありません。