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

SAP Ariba Source 用の CData ADO.NET プロバイダーをDevExpress Windows Forms とWeb コントロールとともに使用し、SAP Ariba Source をチャートに入力します。

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

最終更新日:2022-01-31

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

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

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

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

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.)

関連コンテンツ

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

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