SAP 用ビジネス イベント ツールキットを使用してイベントを公開する

このドキュメントでは、Business Eventing Toolkit for SAP を使用してイベントを公開する方法について説明します。

構成された Google Cloud ターゲットにイベントをプログラムで公開する

ターゲット サービスは、構成されたターゲット Google Cloud サービスに基づいて派生します。ターゲット Google Cloud サービスの構成方法については、ターゲット Google Cloud サービスを構成するをご覧ください。

次のコード スニペットは、構成済みのターゲットにイベントデータをパブリッシュする方法を示しています。

/goog/cl_event_publisher=>publish_event(
     EXPORTING
        iv_event_key = 'EVENT_KEY'
        it_data      = VALUE /goog/cl_publisher_base=>tt_messages( ( data = 'Hello World!' ) )
     IMPORTING
        et_output    = DATA(lt_output)
        et_return    = DATA(lt_return)
).

EVENT_KEY は、ターゲット Google Cloud サービスにイベントをパブリッシュするように構成されたイベントキーに置き換えます。

イベントを CloudEvent として送信するには、Cloud Event のデフォルト属性キーを構成し、ターゲット Google Cloud サービスを構成するときにこのキーをイベントキーに接続します。次に、Business Eventing Toolkit for SAP が CloudEvent のデフォルトの属性値を取得します。

デフォルト値を使用して API リクエストをプログラムで CloudEvents としてパブリッシュする

次のコード スニペットは、デフォルト値を使用して HTTP API リクエストを CloudEvent として公開する方法を示しています。

lo_api_client->encode_as_cloud_event(
   EXPORTING
      iv_ce_key         = 'CLOUD_EVENT_ATTRIBUTE_KEY'
).

CLOUD_EVENT_ATTRIBUTE_KEY は、CloudEvent 属性を構成するセクションで構成した Cloud Event のデフォルト属性キーに置き換えます。

API リクエストをプログラムで CloudEvents としてパブリッシュする

ビジネス イベントを CloudEvent としてプログラムで公開するときに、構成テーブルで定義されたデフォルト値をオーバーライドするには、ENCODE_AS_CLOUD_EVENT メソッドを使用して CloudEvent 属性の特定の値を渡します。

次のコード スニペットは、HTTP リクエストを CloudEvent としてエンコードするときにデフォルト値をオーバーライドする方法を示しています。

lo_api_client->encode_as_cloud_event(
   EXPORTING
      "mandatory attributes
      iv_source         = 'SAP'
      iv_type           = 'ce.structured-ce'
      " add optional attributes
      iv_subject        = 'test'
      " extension attributes -> key,value
      it_extension_attr = VALUE #( ( name = 'my_ext_attr1' value = 'my_ext_value1')
                                   ( name = 'my_ext_attr2' value = 'my_ext_value2' ) )
      iv_encoding       = /goog/if_ce_spec_version=>c_ce_encoding-binary
).

SAP イベントを公開するには、以下の内容を確認してください。