LINQPad でSAP Ariba Source のデータを操作する方法

LINQPad でSAP Ariba Source にLINQ クエリを実行する方法を解説します。

加藤龍彦
デジタルマーケティング

最終更新日:2023-09-15

この記事で実現できるSAP Ariba Source 連携のシナリオ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData ADO.NET Provider for SAPAribaSource は、LINQ やEntity Framework などの標準のADO.NET インターフェースを使ってSAP Ariba Source の操作を実現します。この記事では、LINQPad から接続してLINQ クエリを実行する方法を説明します。

必要なもの

本記事の手順を実行してLINQPad からSAP Ariba Source に接続するには、以下の3つの製品が必要になります。

  • SAP Ariba Source の環境
  • LINQPad
  • CData ADO.NET Provider for SAPAribaSource。右側のサイドバーから30日間無償トライアルがダウンロードできます

データモデルの作成

CData ADO.NET Provider for SAPAribaSource およびLINQPad をダウンロード・インストールしたら、Visual Studio で新しいクラスライブラリプロジェクトを作成します。

ADO.NET Provider の利用に必要となるEF 6を設定する方法については、ヘルプドキュメントを参照してください。

  1. プロジェクトを右クリックし、[追加]→[新しい項目]→[ADO.NET Entity Data Model]をクリックします。ダイアログが表示されたら、データベースから[Code First]を選択します。 [New Connection]をクリックして、表示されたウィザードで接続文字列オプションを指定します。

    New Connectionを選択して新しい接続設定を作成
  2. SAP Ariba Source に接続するには、以下を設定します。

    • API:本製品に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。

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

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

    一般的な接続文字列は次のとおりです。

    API=SupplierDataAPIWithPagination-V4;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;Environment=SANDBOX;Realm=testRealm;AuthScheme=OAuthClient;
  3. 希望するテーブルおよびビューを選択して[Finish]をクリックし、データモデルを作成します。

    下部のFinishをクリックしてデータモデルを作成
  4. プロジェクトをビルドします。生成されたファイルを使ってLINQPad でSAP Ariba Source 接続を作成できます。

LINQPad でSAP Ariba Source のデータに接続

必要な接続プロパティを取得してデータモデルアセンブリを作成したら、以下の手順に従ってLINQPad でデータモデルを使いはじめましょう。

  1. LINQPad を開き[接続の追加]をクリックします。

    接続の追加をクリック
  2. [Use a typed data context from your own assembly]オプションを選択します。

  3. [Entity Framework DbContext]を選択します。

    下部のフィールドから[Entity Framework DbContext]を選択
  4. [Path to Custom Assembly]ボックスの横にある[参照]をクリックして、プロジェクトフォルダを参照します。bin フォルダの下の.dll または.exe を参照します。

  5. DbContext の名前を選択します。
  6. 接続文字列をApp.Config に保存した場合は、App.Config へのパスを指定します。
DbContextの名前とApp.Configへのパスを指定

これでLINQPad 経由でSAP Ariba Source にクエリできます。サポートされたLINQ クエリの例は、ヘルプドキュメントの「LINQ およびEntity Framework」を参照してください。

LINQPad からSAP Ariba Sourceに接続

関連コンテンツ

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

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