前回Event Meshを使ってみましたが、今回はS/4HANA側の設定も合わせて実施します
BTPとS/4HANA両方に知見がある人は少ないと思うので参考になればと思います
SAP Event Meshを試してみる - Qiita
SAP Event Meshの概要については私が以前書いたブログを確認ください
BTPでの作業
基本的にBTP側の作業は前回と同じ
トライアルアカウントだとnamespaceを設定できない
Event Meshのinstance作成時以下のようなパラメータを設定します
しかしトライアルアカウントだとnamespaceを設定するとエラーになるため、その部分を省いた状態でinstanceを作成しないといけないです
namespaceはS/4HANAからみた場合の住所みたいなものでないとS/4HANAとの連携は出来ません
{
"emname": "<yourmessageclientname>",
"namespace": "<yourorgname>/<yourmessageclientname>/<uniqueID>",
"version": "1.1.0",
"options": {
"management": true,
"messagingrest": true,
"messaging": true
},
"rules": {
"queueRules": {
"publishFilter": [
"${namespace}/*"
],
"subscribeFilter": [
"${namespace}/*"
]
},
"topicRules": {
"publishFilter": [
"${namespace}/*"
],
"subscribeFilter": [
"${namespace}/*"
]
}
},
"resources" : {
"units" : "10" //default value is 10//
}
}
Applicationのサブスクライブ
BTPのInstances and Subscriptions画面からEventMeshを選択してApplicationもサブスクライブしてください
こちらはパラメーターの設定などは不要です
こんな画面が開きます
Message Clients→さっき作成したinstanceと移動します
ここではトライアルアカウントで設定していたようなQueuesやWebhooksの設定が可能です
Queues→Queue Subscriptionsから各Queueが受信するTopicを設定してください
ここのTopicとあとでS/4HANAはチャネルに設定したEventが同じものを受信します
トピックの設定は画像で警告が出ている通り命名ルールに従う必要があります
instance作成した際に設定したルールも守る必要があります
S/4HANAの作業
S/4HANAのバージョンによって作業が異なりますので中位ください
SSL証明書のインストール
こちらのステップ24までを参考にSSL証明書をS/4HANAにインポート
証明書はルート証明書を利用
S/4HANAのバージョンや契約形態によってはそのままインポート出来ない場合があります
その場合は別途形式変換をしてからインポートする必要があります
OATH Clientの有効化
初期状態から有効化されてる場合は不要
Tr.SICF からOA2C_CONFIGのサービスを検索して有効化
ロール
Tr.PFCGからSAP_IWXBE_RT_XBE_ADMを検索して有効化
ここのロールが有効になっていないとEvent伝達の途中でコケてBTPまで通知されません
参考URL:
チャンネルの作成
tr./IWXBE/CONFIGでチャンネルの設定をします。
バージョンごとに異なる設定方法
2020など新しいバージョンの場合は画像の via Service key ってところにinstanceのServiceKeyをすべて貼り付けてください
あと名前とディスクリプションを任意で入力すればOK
Check ConnectionとActivateが成功すればOKです
1909など古いバージョンの場合は以下のURL(step28以降)に従ってtr.SM59で宛先とtr.OA2C_CONFIGで ServiceKey の情報からOAUTH認証の設定を作成してください
作成後そこで作成した設定をtr./IWXBE/CONFIGで割り当てます
参考:
ネットワークの設定
以下の4点をBasisの方に確認してもらってください
・ファイヤウォールの設定の見直し
・SM59で作成した宛先にプロキシの設定
参考:
https://launchpad.support.sap.com/#/notes/3106170
・OA2C_CONFIGにプロキシの設定
・Clientにグローバルプロキシの設定
参考:
ドピック割当
前の画面から移動してTopicを割り当てます
なのでここのTopicとBTP側のTopicが一致している必要があります
またここで表示されるイベントは以下になります
独自で作成するか出来るかは不明
テスト
実際に設定したEventを実行してもいいですがtr./IWXBE/EVENT_DEMOからテストTest Eventを実行することが出来ます
テストイベントをBTP側に設定しておくかすべてのイベントを受信するようにしておく(*で設定をする)必要があります
参考資料
How to use SAP S/4HANA Event Enablement with SAP Cloud Platform (JA)
Discoveryセンター