CData Arc で、SAP Business Network からルーティングされる電子オーダーの連携を自動化する

by 色川穂高 | 2024年10月15日

CData Arc で、SAP Business Network からルーティングされる電子オーダーの連携を自動化する

こんにちは。CData Software Japan の色川です。

SAP Ariba との連携自動化については「バイヤー(Buyer)側で良くあるシナリオ」として「CData Drivers を利用してOperational Reporting API for Procurement と連携する記事」や「SAP Ariba のData Import/Export タスクをリクエストする記事」をご紹介しました。

SAP Ariba との連携については、バイヤー側以外に、サプライヤー(Supplier)側の視点でも連携の自動化をご相談頂くことがあります。サプライヤー(Supplier)側での関心は「SAP Business Network(旧Ariba Network)で注文された電子オーダーの情報を自動的に自社システムなどへ連携したい」シナリオが多いようです。

SAP Business Network では、新規オーダーなどの受信ドキュメントについて、幾つかのルーティング方法が提供されています。

この記事では「電子メールオーダールーティング」と「cXML オーダールーティング」を対象に「SAP Business Network からルーティングされる電子オーダーの連携を自動化する」方法をご紹介します。

SAP Business Network(旧Ariba Network)

SAP Business Network(旧Ariba Network)はバイヤー(購買する企業)とサプライヤー(供給する企業)を結ぶ、世界最大規模の企業間電子商取引(B2B)ネットワークです。190ヶ国、数百万社以上の企業がSAP Business Network に参加しています。

SAP Business Network(旧Ariba Network)

CData Arc

CData Arc は、CData 製品の中で「自動化/Automate」を担うデータ連携ツールです。「B2B 連携をもっとシンプルに」をコンセプトに、ファイル連携 & DB 連携 & API 連携といったB2B 連携に必要なすべてをノーコード・ローコードでつなぐことができるプラットフォームです。

CData Arc

SAP Business Network の電子オーダールーティング

SAP Business Network では、新規オーダーなどの受信ドキュメントについて、幾つかのルーティング方法が提供されています。選択できるルーティング方法は、SAP Business Network のアカウント種類(スタンダードアカウント or エンタープライズアカウント)によっても異なりますが、最初にご紹介するEmail Order Routing(電子メールオーダールーティング)はアカウント種類を問わず、利用できるルーティング方法です。

SAP Business Network の電子オーダールーティング

この記事では、SAP Ariba が推進しているオープン規格であるcXML(commerce eXtensible Markup Language)をデータフォーマットとして利用する「電子メールオーダールーティング」と「cXML オーダールーティング」を対象に「SAP Business Network からルーティングされる電子オーダーの連携を自動化する」方法をご紹介します。

SAP Ariba が推進しているオープン規格であるcXML(commerce eXtensible Markup Language)は、XML をベースにした言語で、標準的なXML の構文に準拠しています。Arc では、cXML に特化した機能やコネクタを提供している訳ではありませんが、Arc の中核的なコネクタの1つであるXML Map コネクタを利用すれば、多くのケースでcXML フォーマットのデータをマッピングして、必要な連携フローを実現することができるでしょう。

また選択するルーティング方法によってドキュメントの受信に必要となる技術や構成が異なりますが「電子メールオーダールーティング(Email Order Routing)」の受信にはArc のEmail Receive コネクタが。「cXML オーダールーティング(cXML Order Routing)」の受信にはArc のWebhook コネクタが活用頂けそうです。この記事では触れませんが「EDI オーダールーティング」を検討される場合には、Arc のAS2 コネクタやEDI コネクタ群が活用頂けるでしょう。

この記事のシナリオ

この記事では、SAP Business Network から送信される新規注文(オーダー)に関するドキュメントを受信して、そこに含まれる情報をマッピングし、CSV ファイルにして出力する流れの自動化を試してみました。

Email Order Routing

この記事のシナリオ

この記事のシナリオ

この記事のシナリオ

なお、この記事では、XML Map コネクタで新規注文(cXML のOrderRequest ドキュメント)をマッピングする際にのスキーマには、実際に受信したOrderRequest ドキュメントをもとに必要最小限の内容で構成しています。OrderRequest ドキュメントの詳細な仕様については、cXML リファレンスガイドなどを参考にしてください。

Email Order Routing(電子メールオーダールーティング)

Email Order Routing(電子メールオーダールーティング)は、SAP Business Network のアカウント種類(スタンダードアカウント or エンタープライズアカウント)を問わず、選択できるルーティング方法です。SAP Business Network 側で、新規オーダーのルーティング方法に「電子メール」を選択して「電子メールアドレス」に利用するメールアカウントを指定しておきます。

Email Order Routing

この記事ではバイヤー側から以下のような新規オーダーを作成しておきました。

Email Order Routing

連携フローの作成

オーダールーティングに電子メールを選択する場合の、連携フローは以下のような流れになっています。

# コネクタ 内容
1 Email Receive 指定したメールボックスからEmail を受信して対象ドキュメントをアウトプット
2 XML Map 1 で取得したドキュメント(OrderRequest)を3 で期待する形式にマッピング
3 CSV 2 でマッピングした結果(XML)をCSV に変換
4 File 3 のCSV ファイルを指定フォルダに保存

Email Order Routing

Email Receive

最初に「指定したメールボックスからEmail を受信して、処理対象ドキュメントをアウトプット」するEmail Receive コネクタを設定します。

Email Order Routing

接続や認証の設定は、利用するメールアカウントにあわせて設定してください。

Email Order Routing

ダウンロードの設定で「Download Type」に「添付ファイル」を。「添付フィルタ」に「*.xml」と設定して、添付されるcXML ドキュメントのみがアウトプットされるように構成します。

Email Order Routing

アウトプットタブで「受信」を実行すると、添付されたcXML ドキュメントがアウトプットされることが確認できます。

Email Order Routing

Email Order Routing

CSV

次に、XML Map コネクタでの宛先側(マッピング先)のスキーマを構成するために、「マッピングした結果(XML)をCSV に変換」するCSV コネクタを先に設定しておきます。

Email Order Routing

この記事では、出力するCSV フォーマットのサンプルとして、以下のようなCSV ファイルを用意しました。

Email Order Routing

コネクタの設定では「カラムヘッダーが存在します」を有効にしておきます。

Email Order Routing

インプットタブの「テストファイルをアップロード」から用意したCSV ファイルをアップロードして、XML Map コネクタでのマッピングに利用できるスキーマを生成しておきます。この手順を実施しておくことで、XML Map コネクタでは宛先側のスキーマとして、CSV コネクタで生成したスキーマを選択することができるようになります。

Email Order Routing

Email Order Routing

XML Map

次に「取得したドキュメント(OrderRequest)をCSV ファイルへ変換(マッピング)」するXML Map コネクタを設定します。

Email Order Routing

前後のフローをつなぎます。宛先側(デスティネーションファイル)では、CSV コネクタで生成されているスキーマ情報が認識されます。

Email Order Routing

データソース側(ソースファイル)としてインプットされるファイルは、Email Receive コネクタから渡されるcXML ドキュメントになりますが、そのドキュメントのスキーマは自動的に認識することはできませんので、OrderRequest ドキュメントのデータ構造の内、必要な項目を記載したXML ファイルを「サンプルファイルをアップロード」で指定します。

Email Order Routing

Email Order Routing

なお、この記事では、実際に受信したOrderRequest ドキュメントをもとに必要最小限の内容でデータソース側のスキーマを表すXML ファイルを構成しました。

Email Order Routing

この記事では、OrderRequest に含まれるItemOut の単位で出力するようにマッピングを構成しています。

Email Order Routing

File

最後に「CSV 形式に変換したファイルを指定フォルダに保存」するFile コネクタを設定します。

Email Order Routing

「パス」に保存先とするフォルダパスを設定したら完了です。

Email Order Routing

これで「SAP Business Network からEmail Order Routing(電子メールオーダールーティング)でルーティングされた電子オーダーの連携を自動化する」フローができあがりました。

連携フローの実行

作成したフローを実行して確認してみましょう。起点となるEmail Receive コネクタからフローを実行してみます。アウトプットタブから「受信」を実行します。「トリガー開始」から「手動で受信」を実行することは、起点となるEmail Receive コネクタのアウトプットタブから「受信」を実行することと同様です。

Email Order Routing

トランザクションのメッセージビューアで、作成したフローの一連の実行状況が確認できます。Email Receive コネクタのアウトプットとして、OrderRequest のcXML ドキュメントが渡され、最終的にCSV ファイルの保存が成功していることが確認できます。

Email Order Routing

指定したフォルダに、期待した内容のCSV ファイルが出力されていることが確認できます。

Email Order Routing

これで「SAP Business Network からEmail Order Routing(電子メールオーダールーティング)でルーティングされた電子オーダーの連携を自動化する」フローの動作が確認できました。

cXML Order Routing(cXML オーダールーティング)

今度は「SAP Business Network からcXML Order Routing(cXML オーダールーティング)でルーティングされた電子オーダーの連携を自動化する」フローを試してみます。

cXML Order Routing(cXML オーダールーティング)を使用するためには、SAP Business Network からのPOST リクエストを受け入れることができるエンドポイントが必要です。このルーティング方法を選択する場合、Arc のWebhook コネクタが活用頂けそうです。なお、cXML オーダールーティングを選択する場合には、HTTPS 接続可能なエンドポイントを指定する必要があります。この構成を検討する場合には、外部からHTTPS でアクセスできるよう、Arc およびArc のWebhook コネクタを構成してください。

連携フローの作成

オーダールーティングにcXML を選択する場合の、連携フローは以下のような流れになっています。2-4 は先に作成したフローの設定をそのまま利用します。

# コネクタ 内容
1 Webhook SAP Business Network からのポストを受信して処理対象ドキュメントとしてアウトプット
2 XML Map 1 で取得したドキュメント(OrderRequest)を3 で期待する形式にマッピング
3 CSV 2 でマッピングした結果(XML)をCSV に変換
4 File 3 のCSV ファイルを指定フォルダに保存

cXML Order Routing

Webhook

最初に「SAP Business Network からPOST リクエストを受信して処理対象ドキュメントとしてアウトプット」するWebhook コネクタを設定します。

cXML Order Routing

Webhook コネクタを作成した段階で「Webhook エンドポイント」として、外部からのアクセスを想定したエンドポイントが作成されます。

cXML Order Routing

「ユーザー」タブで、このWebhook エンドポイントにアクセス可能な権限を持つユーザーを構成し、認証トークンを取得しておきます。

cXML Order Routing

「サーバー」タブで、このWebhook エンドポイントにアクセス可能な「信頼されたIP アドレス」を指定します。SAP Business Network 側が利用するIP アドレスレンジ等を指定したい場合については、SAP 側のドキュメントなどを確認してください。

cXML Order Routing

SAP Business Network 側でcXML オーダールーティングを指定する際、URL のみで有効なアクセス権限を持ったリクエストを構成できるように「サーバー」タブで「URL の認証トークンを許可」しておきます。

cXML Order Routing

https://<host>:<port>/connector/<workspace>/<connector>/webhook.rsb?@authtoken=<認証トークン>

これでArc 側でSAP Business Network からのPOST リクエストを受け入れることができるエンドポイントが準備できました。

なお、Webhook コネクタでは、レスポンスイベントを構成することで、カスタムレスポンスを指定することもできます。

cXML Order Routing

あとはSAP Business Network 側で、新規オーダーのルーティング方法に「cXML」を選択して「URL」に用意したエンドポイントを指定します。

cXML Order Routing

XML Map

XML Map コネクタの設定は先ほどの「Email Order Routing(電子メールオーダールーティング)」の際に構成した内容と同一です。

CSV

CSV コネクタの設定は先ほどの「Email Order Routing(電子メールオーダールーティング)」の際に構成した内容と同一です。

File

File コネクタの設定は先ほどの「Email Order Routing(電子メールオーダールーティング)」の際に構成した内容と同一です。

連携フローの実行

この記事ではバイヤー側から以下のような新規オーダーを作成しました。

cXML Order Routing

バイヤー側から新規オーダーが、cXML オーダールーティングのエンドポイントとして指定したWebhook コネクタのエンドポイントにPOST されていることが確認できます。

cXML Order Routing

cXML Order Routing

トランザクションのメッセージビューアで、作成したフローの一連の実行状況が確認できます。Webhook コネクタのアウトプットとして、OrderRequest のcXML ドキュメントが渡され、最終的にCSV ファイルの保存が成功していることが確認できます。

cXML Order Routing

指定したフォルダに、期待した内容のCSV ファイルが出力されていることが確認できます。

cXML Order Routing

これで「SAP Business Network からcXML Order Routing(cXML オーダールーティング)でルーティングされた電子オーダーの連携を自動化する」フローの動作が確認できました。

まとめ

日本の企業でも企業間の調達・購買において、SAP Business Network を利用する機会が年々増えていると思います。バイヤー企業側からの指定や推奨などで、SAP Business Network を利用しはじめたサプライヤー(Supplier)側企業の中には「SAP Business Network で注文された電子オーダーの情報を自動的に自社システムなどへ連携したい」ニーズをお持ちの方も多いのではないでしょうか。

SAP Business Network ではドキュメントのルーティング方法を幾つか提供していますが、Arc を利用すれば多くのケースで自動化を検討することができます。

CData Arc はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで270を超えるアプリケーションへの連携を実現できます。

皆さんのつなぎたいシナリオでぜひ CData Arc を試してみてください。
CData Arc - セキュアなデータ連携とマネージドファイル転送(MFT)

製品を試していただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。

CData Software Japan - Support Form


この記事では CData Arc™ 2024 - 24.2.9039.0 を利用しています

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。