
こんにちは。CData Software Japan の色川です。
SAP Ariba を利用されているお客さまから「SAP Ariba の購入申請(PR)等に添付されているファイルの取得や保管を自動化したいのですが」と、ご相談いただくケースが増えてきました。電子帳簿保存法などとも関連して、Ariba でやり取りされたデータの添付ファイルを、Ariba の外に設けた仕組みへと連携したい場面もあるようです。
購入申請(PR)などに添付されているファイルのダウンロードは、Ariba のOperational Reporting API 等を利用することで自動化の実現を検討できますが、先日のCData Software Blog でご紹介したSAP Ariba Procurement Driver のアップデートによって、Arc での自動化フローをよりシンプルに構成できるようになりました。
この記事では「CData Arc で、SAP Ariba の購入申請(PR)等に添付されたファイルの取得や保管を自動化する」方法を紹介します。
SAP Ariba
SAP Ariba はSAP 社が提供する支出管理(Spend Management)の分野におけるリーダー的な存在のソフトウェアです。SAP Ariba はクラウド型の電子調達・購買サービスで、バイヤー(購買する企業)とサプライヤー(供給する企業)は、世界最大規模の企業間電子商取引(B2B)ネットワークである「SAP Business Network」を通じて、見積・発注・検収・請求などの購買プロセスを実施します。

SAP Ariba は、すべての間接材・すべての購買プロセスをカバーしていますが、他にもサプライヤーや契約の管理に特化した機能や、直接材をカバーするソリューションも提供しています。
CData Arc
CData Arc は、CData 製品の中で「自動化/Automate」を担うデータ連携ツールです。「B2B 連携をもっとシンプルに」をコンセプトに、ファイル連携 & DB 連携 & API 連携といったB2B 連携に必要なすべてをノーコード・ローコードでつなぐことができるプラットフォームです。

この記事の前に
この記事では、以下の記事の内容を前提にしています。あらかじめ以下の各記事で、CData SAP Ariba Procurement Driver の機能や、CData Arc からの基本的な使い方を確認いただけるとスムーズです。
この記事のシナリオ
この記事では、あらかじめ「CData SAP Ariba Procurement Driver のCreateChildElementSchema ストアドプロシージャで購入申請データの添付ファイル情報(Attachments)をテーブル形式で取得できるView を用意」して、そのView から取得した添付ファイル情報をもとに(必要な情報をマッピングして)、先日のDriver アップデートで追加された「DownloadProcurementDocumentAttachment ストアドプロシージャを実行」することで、添付ファイルをダウンロードし指定したディレクトリへ連携するフローを作成していきます。

SAP Ariba の購入申請 (PR) データ
この記事では、以下のようにPR44 と45 の2つの購入申請データが対象になるように設定していきます。

PR44 の購入申請にはLineItem の添付ファイルを含めて2つのファイルが。


PR45 の購入申請にはLineItem の添付ファイルを含めて3つのファイルが添付されています。



Attachments(添付ファイル)ビューの作成
事前準備として、こちらの記事で紹介されている「添付ファイル情報(Attachments)をテーブル形式で取得できるView」を用意していきます。「スキーマファイルの生成のために、一度だけCData SAP Ariba Procurement Driver のCreateChildElementSchema ストアドプロシージャを実行」する形になるので実行方法は特に問いませんが、CData Arc からは「Execute Stored Procedure」アクションのテスト実行を利用すると簡単です。
CData コネクタを配置して、SAP Ariba のOperational Reporting API への接続を構成します。



このときに「(CreateChildElementSchema ストアドプロシージャ実行により作成される)スキーマファイルを格納するディレクトリの場所」を、CData Arc 本体を実行するプロセスの権限でアクセスできるディレクトリに指定しておきます。この記事では「C:\example」をCData SAP Ariba Procurement Driver のLocation プロパティとして指定されるように、CData コネクタの「高度な設定」にある「Other Driver Settings」に「Location="C:\example";」として構成しました。



SAP Ariba のOperational Reporting API に接続したCData コネクタの「Execute Stored Procedure」アクションから「CreateChildElementSchema」を選択して「ストアドプロシージャをテスト」を実行します。この記事では「フォーム」モードでパラメータなどを設定します。


インプットパラメータに以下の内容を設定して「テスト」します。
インプットパラメータ |
値 |
ViewTemplateName |
Requisition_SAP_createdRange_v2 |
ChildElement |
Attachments |
TableName |
Requisition_SAP_createdRange_v2_Attachments |
FileName |
Requisition_SAP_createdRange_v2_Attachments.rsd |



先ほど「Location」として指定したディレクトリに、スキーマファイルが生成されていることが確認できます。


ここまでで事前準備ができました。
連携フローの作成
それでは「SAP Ariba の購入申請 (PR) 等に添付されたファイルの取得や保管を自動化」する連携フローを作成していきます。このシナリオで作成する連携フローは以下のような流れになっています。
|
コネクタ |
内容 |
1 |
CData |
SAP Ariba から条件に一致するRequisition_SAP_createdRange_v2_Attachments データを取得 |
2 |
XML Map |
1 のデータを3 にマッピング |
3 |
CData |
DownloadProcurementDocumentAttachment ストアドプロシージャで添付ファイルをダウンロード
|

1. CData コネクタ(Attachments データを取得)
事前準備で利用したCData コネクタ(SAPAriba_Select)のアクションを「Select」に変更します。

「テーブルの追加」で、事前準備で作成した「Requisition_SAP_createdRange_v2_Attachments」View を選択します。


フィルタ条件には、事前準備で確認したSAP Ariba の購入申請データが該当するように日付範囲を構成しました。

確認のために「アウトプット」タブから「受信」してみると、期待の通りにAttachments データ(添付ファイル分の5つのレコード)が取得できていることが確認できます。


3. CData コネクタ(添付ファイルをダウンロード)
次に「DownloadProcurementDocumentAttachment ストアドプロシージャで添付ファイルをダウンロード」するCData コネクタを構成します。CData コネクタを「Execute Stored Procedure」アクションで新たに作成して、SAP Ariba のOperational Reporting API に接続します。



ストアドプロシージャに「DownloadProcurementDocumentAttachment」を選択したら、コネクタの設定を「保存」します。


2. XML Map コネクタ
最後に「Attachments データを、添付ファイルをダウンロードするストアドプロシージャにマッピング」するXML Map コネクタを構成します。1 と3 のフローをつないだ後に、フローの中央「+」からXML Map コネクタを追加します。


XML Map コネクタのマッピング設定で「Attachments データを、添付ファイルをダウンロードするストアドプロシージャにマッピング」します。

添付ファイルをダウンロードする「DownloadProcurementDocumentAttachment」ストアドプロシージャは以下のようなパラメータで利用することができます。

この記事では、以下の内容でマッピングします。
宛先 |
内容 |
AttachmentId |
ソースの「uniqueAttachmentId」 |
QueryType |
receipts |
LocalPath |
{任意のディレクトリ(この記事では「C:\Output」)}\ソースの「Requisition_InitialUniqueName(PR44 など)」\ソースの「Filename(example-001.pdf など)」 |
FileStream |
null("空をnull として扱う"を有効化) |




マッピングが出来たら、期待通りのマッピング内容になっているか「テスト」で確認してみます。


LocalPath などを含め、期待通りに構成できていることが確認できます。

これで「CData Arc で、SAP Ariba の購入申請(PR)添付されたファイルの取得や保管を自動化する」フローができあがりました。

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

5 つのメッセージがそれぞれのコネクタで実行されている状態が確認できます。

トランザクションのメッセージビューアでは、個々のメッセージ単位でフローの一連の実行結果が確認できます。

LocalPath に指定したディレクトリを確認すると、期待通りにダウンロードされていることが分かります。



その他
この記事では、Requisition_SAP_createdRange_v2 の子要素をView 化した「Requisition_SAP_createdRange_v2_Attachments」View のデータをもとにダウンロード対象のデータを選択していますが、購入申請(PR)のデータ内容などでフィルタしたい場合は「カスタムクエリでRequisition_SAP_createdRange_v2 とRequisition_SAP_createdRange_v2_Attachments をJoin」したり「Arc のChildTables 機構を利用して、条件フィルタしたRequisition_SAP_createdRange_v2 の子要素としてRequisition_SAP_createdRange_v2_Attachments を取得」するなどで実現を検討いただけると思います。
またSAP Ariba からダウンロードした添付ファイルを、Box をはじめとしたクラウドストレージ等へ連携した場合は、ダウンロードしたファイル群に対して、Arc のMFT Connectors を利用するフローを構成すればシンプルに実現することができるでしょう。
まとめ
この記事では、CData Arc とCData SAP Ariba Procurement Driver を利用して、「SAP Ariba の購入申請(PR)等に添付されたファイルの取得や保管を自動化する」方法をご紹介しました。
SAP Ariba でやり取りされたデータの添付ファイルを、Ariba の外に設けた仕組みへと自動連携したい場面などで活用いただけると思います。
CData Arc はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで270を超えるアプリケーションへの連携を実現できます。
皆さんのつなぎたいシナリオでぜひ CData Arc を試してみてください。
CData Arc - セキュアなデータ連携とマネージドファイル転送(MFT)
製品を試していただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
CData Software Japan - Support Form
この記事では以下の製品を利用しています。
- CData Arc™ 2025 - 25.1.9211.0
- CData SAP Ariba Procurement Driver 24.0.9214
関連コンテンツ