各製品の資料を入手。
詳細はこちら →SAP Netweaver Gateway のデータをDevExpress Data Grid にデータバインドする。
SAP Netweaver Gateway 用の CData ADO.NET プロバイダーをDevExpress Windows Forms とWeb コントロールとともに使用し、SAP Netweaver Gateway をチャートに入力します。
最終更新日:2022-01-31
この記事で実現できるSAP Netweaver Gateway 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
SAP Netweaver Gateway 用の CData ADO.NET プロバイダーはサードパーティーコントロールで使うことのできる通常のADO.NET データベースアクセスコンポーネントを実装しています。データバインドするための通常のADO.NET プロセスに従うことで、UI コントロールから実データへの双方向アクセスを可能にします。 この記事では、CData を使ってDevExpress Windows Forms とウェブコントロールにデータバインドする方法を説明します。ここでは、最新のデータを表示するチャートにデータバインドします。
SAP Gateway 接続プロパティの取得・設定方法
SAP Gateway のテーブルにアクセスするには、次の接続プロパティを設定します。
- URL = お使いの環境のURL、またはサービスの完全URL。例えば、完全URL は次のようになります:https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/。この例では、環境URL は次のようになります:https://sapes5.sapdevcenter.com。CustomUrlParams プロパティを使用して、追加プロパティを追加します。
- Namespace = 適切なService Namespace。先ほどの例では、IWBEP が名前空間です。サービスへの完全URL が指定されている場合は任意です。
- Service = データを取得するサービス。先ほどの例では、サービスはGWSAMPLE_BASIC です。完全URL が指定されている場合は必須ではありません。
- CustomUrlParams = HTTP リクエストに含まれる必要のある追加プロパティ;例えばsap-client=001&sap-language=EN。
SAP Gateway への認証
SAP Gateway はBasic 認証、OAuth 2.0 認証、SAP BTP Destination 認証を許可します。
Basic 認証
Basic 認証を有効にするには、以下のプロパティを設定します。
- AuthScheme = Basic。
- User = SAP Gateway へのログインに使用するユーザー名。
- Password = SAP Gateway へのログインに使用するパスワード。
上記のプロパティを設定したら、接続の準備は完了です。ローカルデータにアクセスするには、個人の認証情報を使用します。
他の認証方法については、ヘルプドキュメントの「接続の確立」セクションを参照してください。
Windows Forms コントロール
下のコードでは、SAP Netweaver Gateway でDevExpress のチャートに追加する方法を説明します。SAPGatewayDataAdapter はチャートコントロールのSeries プロパティにバインドします。コントロールのDiagram プロパティはx 軸とy 軸をカラム名として定義します。
using (SAPGatewayConnection connection = new SAPGatewayConnection(
"User=user;Password=password;URL=https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/;")) {
SAPGatewayDataAdapter dataAdapter = new SAPGatewayDataAdapter(
"SELECT ProductID, Quantity FROM SalesOrderLineItems WHERE Quantity < 15", 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[] { "Quantity" });
series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
series.ArgumentDataMember = "ProductID";
series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical;
chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}

Web コントロール
下のコードではSAP Netweaver Gateway でDevExpress Web を操作するための設定方法を説明します。SAPGatewayDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。
using DevExpress.XtraCharts;
using (SAPGatewayConnection connection = new SAPGatewayConnection(
"User=user;Password=password;URL=https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/;"))
{
SAPGatewayDataAdapter SAPGatewayDataAdapter1 = new SAPGatewayDataAdapter("SELECT ProductID, Quantity FROM SalesOrderLineItems WHERE Quantity < 15", connection);
DataTable table = new DataTable();
SAPGatewayDataAdapter1.Fill(table);
DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
WebChartControl1.Series.Add(series);
DataTable table = new DataTable();
series.ValueDataMembers.AddRange(new string[] { "Quantity" });
series.ArgumentScaleType = ScaleType.Qualitative;
series.ArgumentDataMember = "ProductID";
series.ValueScaleType = ScaleType.Numerical;
((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}