イベントの登録 

オブジェクトでは、オブジェクトの状態が変更されたことがメソッドの開始によって示されます。 クラスとインタフェースの両方でイベントを定義することができます。このイベントをメソッド内からトリガするには、 RAISE EVENT 命令を使用します。 該当するイベントを処理する各クラス ( またはインタフェース ) は、関連するハンドラメソッドが実装され、 SET HANDLER 命令を使用してこのメソッドを登録する必要があります。 イベントが発生すると、このイベントに対して登録されているすべてのハンドラメソッドが呼び出されます。

メソッド定義と同様に、イベントにはインタフェースパラメータが指定されます。 メソッド定義と唯一異なる点は、イベントには EXPORTING パラメータだけが指定されることです。

前提条件

クラスまたはインタフェースをすでに登録している必要があります。

以降の説明は、 ABAP オブジェクトの原理を理解していることを前提としています。

手順

  1. クラスエディタを変更モードで起動します。
  2. イベントを選択します。
  3. 次の情報を入力します。

    - イベント
    イベントを示す一意の名称です。


    - Type

    イベントのタイプとして、 Instance Event または Static Event のいずれかを指定します。

    -
    可視性
    イベントの可視性として、
    Public Protected Private を指定します。

    モデル化のみ
    このオプションを選択すると、イベントはクラスプールに格納されません。
    実行時にこのコンポーネントにアクセスすることはできません。

    - 内容説明
    イベントを説明するテキスト
  4. 他のイベントについても、ステップ 1 3 を繰り返します。

  5. エントリを保存します。

 

結果

オブジェクトタイプのイベントが登録されました。 クラスまたはインタフェースの宣言部において、 EVENTS 命令の後にイベントが列挙されています。

イベントをさらに詳細に指定するには、 EXPORTING パラメータを指定します。 この手順については、 パラメータと例外の登録および メソッドの実装を参照してください。

ABAP オブジェクト内のイベント処理についての追加情報は、 ABAP エディタの構文文書 (RAISE EVENT 命令などの構文文書 ) を参照してください。