各製品の資料を入手。
詳細はこちら →Visual Studio でチャートコントロールと SAP Ariba Source をデータバインド
標準ADO.NET プロシージャを使ってデータバインドして、Visual Studio ツールボックスのコントロールから SAP Ariba Source との双方向接続を実現。この記事ではVisual Studio のグラフィカルアプローチと、ほんの数行のコードでデータバインドをする方法を説明します。
最終更新日:2021-03-21
この記事で実現できるSAP Ariba Source 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
データバインドによって、UI コントロールからデータに接続できます。 CData ADO.NET Provider for SAPAribaSource を使って、Visual Studio 上でWindows Forms およびWeb Forms とSAP Ariba Source をデータバインドできます。この記事で、SAP Ariba Source を、ウィザードから変更をリアルタイムで反映するチャートにデータバインドする方法を説明します。 Code Walk-through セクションではチャートはほんの10行のコードで作成します。
チャートへのデータバインド
データバインドは3つのステップから構成されます。コントロールのインスタンス作成、データソースの設定、最後にデータバインドです。
接続を設定してデータベースオブジェクトを選択
下の手続きにより、データソース構成ウィザードを使ってチャートコントロールとSAP Ariba Source との接続を作成します。ウィザード上でデータバインドをするSAP Ariba Source エンティティを使います。
- Windows Forms プロジェクトでは、チャートコントロールをツールボックスからフォーム上にドラグ&ドロップします。チャートプロパティのデータセクションで DataSource を選択し、メニューからプロジェクトデータソースの追加を選択します。
- 出てくるデータソース構成ウィザードでデータベース -> データセットを選択します。
- データ接続ステップで、「新しい接続」をクリックします。
データ接続の選択ダイアログで、「変更」をクリックして、CData SAP Ariba Source のデータソースを選択して、接続プロパティを入力します。下は代表的な接続文字列ですです。:
API=SupplierDataAPIWithPagination-V4;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;Environment=SANDBOX;Realm=testRealm;AuthScheme=OAuthClient;
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 に設定します。
- サービスにアプリケーションを登録し、APIKey、OAuthClientId、およびOAuthClientSecret を取得する必要があります。
OAuth アプリケーションの作成について、詳しくはヘルプドキュメントを参照してください。
OAuth の自動リフレッシュ
以下を設定して、接続してください。
- APIKey:アプリケーション設定のApplication key。
- OAuthClientId:アプリケーション設定のOAuth Client Id。
- OAuthClientSecret:アプリケーション設定のOAuth Secret。
接続すると、本製品は自動でOAuth プロセスを完了します。
- 本製品はSAP Ariba からアクセストークンを取得し、それを使ってデータをリクエストします。
- 本製品はアクセストークンの期限が切れると自動的にリフレッシュします。
- OAuth 値はOAuthSettingsLocation で指定された場所に基づいてメモリに保存されます。
- 使用するデータソースオブジェクトを選択します。例は Vendors テーブルです。

DataBind
データソースの追加とデータベースオブジェクトを選択したら、チャートにオブジェクトをバインドします。この例では、X軸に SMVendorID をY軸に Category を設定します。
- チャートプロパティで、Series プロパティをクリックし、Series コレクション エディター を開きます。
- Series プロパティでX軸、Y軸に設定するカラムを選択します:XValueMember および YValueMember プロパティにメニューからカラムを選びます。

チャートはこれでSAP Ariba Source にデータバインドされました。チャートを実行して最新のデータを表示させましょう。
コード Walk-through
SAP Ariba Source へのデータバインドはほんの数行のコードのみが必要で、3つの簡単なステップで完了できます。
- SAP Ariba Source に接続します。
- SAPAribaSourceDataAdapter を作成して、クエリを作成し、結果を入れるデータセットを作成します。
- 結果セットとチャートをデータバインドします。
下に完全なコードを示します:
SAPAribaSourceConnection conn = new SAPAribaSourceConnection("API=SupplierDataAPIWithPagination-V4;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;Environment=SANDBOX;Realm=testRealm;AuthScheme=OAuthClient;");
SAPAribaSourceCommand comm = new SAPAribaSourceCommand("SELECT SMVendorID, Category FROM Vendors WHERE Region = 'USA'", conn);
SAPAribaSourceDataAdapter da = new SAPAribaSourceDataAdapter(comm);
DataSet dataset = new DataSet();
da.Fill(dataset);
chart1.DataSource = dataset;
chart1.Series[0].XValueMember = "SMVendorID";
chart1.Series[0].YValueMembers = "Category";
// Insert code for additional chart formatting here.
chart1.DataBind();