SAP Ariba Source のデータをDevExpress Data Grid にデータバインドする。

加藤龍彦
加藤龍彦
デジタルマーケティング
SAP Ariba Source 用の CData ADO.NET プロバイダーをDevExpress Windows Forms とWeb コントロールとともに使用し、SAP Ariba Source をチャートに入力します。

SAP Ariba Source 用の CData ADO.NET プロバイダーはサードパーティーコントロールで使うことのできる通常のADO.NET データベースアクセスコンポーネントを実装しています。データバインドするための通常のADO.NET プロセスに従うことで、UI コントロールから実データへの双方向アクセスを可能にします。 この記事では、CData を使ってDevExpress Windows Forms とウェブコントロールにデータバインドする方法を説明します。ここでは、最新のデータを表示するチャートにデータバインドします。

それでは、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 で指定された場所に基づいてメモリに保存されます

Windows Forms コントロール

下のコードでは、SAP Ariba Source でDevExpress のチャートに追加する方法を説明します。SAPAribaSourceDataAdapter はチャートコントロールのSeries プロパティにバインドします。コントロールのDiagram プロパティはx 軸とy 軸をカラム名として定義します。

using (SAPAribaSourceConnection connection = new SAPAribaSourceConnection(
"API=SupplierDataAPIWithPagination-V4;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;Environment=SANDBOX;Realm=testRealm;AuthScheme=OAuthClient;")) {
  SAPAribaSourceDataAdapter dataAdapter = new SAPAribaSourceDataAdapter(
  "SELECT SMVendorID, Category FROM Vendors WHERE Region = 'USA'", connection);

  DataTable table = new DataTable();
  dataAdapter.Fill(table);
  DevExpress.XtraCharts.Series series = new DevExpress.XtraCharts.Series();
  chartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "Category" });
  series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
  series.ArgumentDataMember = "SMVendorID";
  series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical;
  chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
  ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
The complete code example and the resulting chart.

Web コントロール

下のコードではSAP Ariba Source でDevExpress Web を操作するための設定方法を説明します。SAPAribaSourceDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。

using DevExpress.XtraCharts;

using (SAPAribaSourceConnection connection = new SAPAribaSourceConnection(
"API=SupplierDataAPIWithPagination-V4;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;Environment=SANDBOX;Realm=testRealm;AuthScheme=OAuthClient;"))
{
  SAPAribaSourceDataAdapter SAPAribaSourceDataAdapter1 = new SAPAribaSourceDataAdapter("SELECT SMVendorID, Category FROM Vendors WHERE Region = 'USA'", connection);
  DataTable table = new DataTable();
  SAPAribaSourceDataAdapter1.Fill(table);
  DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
  WebChartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "Category" });
  series.ArgumentScaleType = ScaleType.Qualitative;
  series.ArgumentDataMember = "SMVendorID";
  series.ValueScaleType = ScaleType.Numerical;
  ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
An ASP.NET application created with the ADO.NET Provider and the DevExpress Web Forms control.(Salesforce is shown.)

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

SAP Ariba Source Data Provider の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

SAP Ariba Source Icon SAP Ariba Source ADO.NET Provider お問い合わせ

SAP Ariba Source データと連携するパワフルな.NET アプリケーションを短時間・低コストで作成して配布できます。