SAP Ariba Source のデータで Updategram を使用する

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Updategram を使用してSAP Ariba Source のデータの挿入、更新、削除を行うことができます。このガイドでは、CData BizTalk Adapter for SAP Ariba Source を使用して Updategram スキーマとインスタンスを生成する方法を説明します。

この記事では、CData BizTalk Adapter for SAP Ariba Source で実行できる Updategram を作成します。スキーマを設計し、それをテンプレートとして挿入、更新、削除の Updategram を生成します。

SAP Ariba Source 用アダプターをプロジェクトに追加する

Add Adapter ウィザードを使用して、Visual Studio の BizTalk Server プロジェクトにアダプターを追加します。アダプターを使用して、変更したいテーブルに関するメタデータを SAP Ariba Source に問い合わせます。

  1. Solution Explorer でプロジェクトを右クリックし、Add -> Add Generated Items をクリックします。
  2. 表示されるダイアログボックスで Add Adapter Metadata を選択します。
  3. 表示される Add Adapter Wizard で、リストビューから CData BizTalk Adapter for SAP Ariba Source を選択します。
  4. Port メニューでは、選択を空白のままにします。または、アダプターを使用するよう構成された Receive Location か Send Port を選択します。
  5. Next をクリックすると、Schema Wizard が表示されます。

Updategram 用のスキーマを生成する

以下の手順で、Visual Studio の BizTalk Server プロジェクトでスキーマを作成します。

  1. まだ行っていない場合は、SAP Ariba Source アダプターをプロジェクトに追加します。
  2. Add Adapter ウィザードの Connection String ページで、Send Port または Receive Location で構成されていない場合は、認証情報やその他の接続プロパティを入力します。一般的な接続文字列は以下のとおりです:
    API=SupplierDataAPIWithPagination-V4;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;Environment=SANDBOX;Realm=testRealm;AuthScheme=OAuthClient;
    

    それでは、SAP Ariba Source に接続していきましょう。接続するには、以下のプロパティを設定します。

    • API:CData 製品にSAP Ariba データを取得させたいAPI を指定してください。ビジネスロールに基づき、Supplier、Sourcing Project Management、またはContract API を選択します(可能な値は、SupplierDataAPIWithPaginationV4、SourcingProjectManagementAPIV2、または ContractAPIV1 です)
    • DataCenter:アカウントのデータがホストされているデータセンター
    • Realm:アクセスしたいサイト名
    • Environment:テスト環境、または本番環境のいずれかを指定してください。(可能な値は、TEST またはPRODUCTION)

    Supplier Data API またはContract API に接続する場合は、さらに以下のプロパティも設定してください。

    • User:API 呼び出しを行うユーザーのId
    • PasswordAdapter:認証するUser に関連付けられたパスワード

    Supplier API に接続している場合は、ProjectId をデータを取得したいソーシングプロジェクトのId に設定してください。

    OAuth 認証

    続いて、接続プロパティを設定した後、認証のためにOAuth 接続を設定する必要があります。

    • AuthScheme をOAuthClient に設定します
    • サービスにアプリケーションを登録し、APIKeyOAuthClientId、およびOAuthClientSecret を取得する必要があります

    OAuth アプリケーションの作成について、詳しくはヘルプドキュメントをご確認ください。

    OAuth の自動リフレッシュ

    以下のプロパティを設定して、接続してみましょう。

    • APIKey:アプリケーション設定のApplication key
    • OAuthClientId:アプリケーション設定のOAuth Client Id
    • OAuthClientSecret:アプリケーション設定のOAuth Secret

    接続すると、CData 製品が自動でOAuth プロセスを完了します。

    1. CData 製品がSAP Ariba からアクセストークンを取得し、それを使ってデータをリクエストします
    2. CData 製品がアクセストークンの期限が切れると自動的にリフレッシュします
    3. OAuth 値はOAuthSettingsLocation で指定された場所に基づいてメモリに保存されます

    必要な接続プロパティの詳細については、ヘルプドキュメントの "BizTalk Configuration" の章を参照してください。

  3. Schema Information ページで、General Options セクションの Send Port をクリックします。CommandType メニューから Updategram を選択します。Solicit-Response Send Port でアダプターを使用している場合は、One-Way オプションを無効にします。
  4. 次のページ(Statement Information)で、Updategram のタイプ(Insert、Update、Delete)を選択します。テーブル名とスキーマに含めるカラムを選択します。Update または Delete を行う場合は、Id カラムが必要です。

    :Updategram を作成する際、スキーマに含めたカラムのみを変更できます。

  5. Next をクリックしてスキーマのサマリーを表示し、ウィザードを終了してスキーマを作成します。生成された .xsd ファイルがプロジェクトに追加されます。

Insert、Update、Delete のインスタンスメッセージを生成する

Updategram スキーマを作成したら、.xsd ファイルを使用して Updategram を生成できます。Solution Explorer で .xsd ファイルを右クリックし、Generate Instance を選択します。このファイルをテンプレートとして、手動で Updategram を作成することもできます。以下は、Insert、Update、Delete 用に生成された Updategram インスタンスの例です:

Insert

INSERT の例を以下に示します。このインスタンスでは、データがどのように変更されるかを指定する after ブロックのみがあります。


<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/SAPAribaSourceProvider">
  <ns0:sync>
    <ns0:before></ns0:before>
    <ns0:after>
      <ns0:Vendors SMVendorID="SMVendorID_0" Category="Category_1" />
    </ns0:after>
  </ns0:sync>
</ns0:parameters>

Update

UPDATE の例を以下に示します。このインスタンスでは、before ブロック(テーブルの現在のデータ)と after ブロック(データがどのように変更されるか)の両方があります。


<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/SAPAribaSourceProvider">
  <ns0:sync>
    <ns0:before>
      <ns0:Vendors Id=001d000000YBRseAAH></ns0:Vendors>
    </ns0:before>
    <ns0:after>
      <ns0:Vendors SMVendorID="SMVendorID_0" Category="Category_1" ></ns0:Vendors>
    </ns0:after>
  </ns0:sync>
</ns0:parameters>

Delete

DELETE の例を以下に示します。after ブロックは空になり、アイテムが削除されることを示します。


<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/SAPAribaSourceProvider">
  <ns0:sync>
    <ns0:before>
      <ns0:Vendors Id=001d000000YBRseAAH></ns0:Vendors>
    </ns0:before>
    <ns0:after></ns0:after>
  </ns0:sync>
</ns0:parameters>

スキーマの処理

Updategram を使用して SAP Ariba Source レコードの挿入、更新、削除を行う方法については、チュートリアルを参照してください。

はじめる準備はできましたか?