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

加藤龍彦
加藤龍彦
デジタルマーケティング
CData ADO.NET Provider for SAP ERP をDevExpress のWindows Forms およびWeb コントロールと組み合わせて使い、チャートに SAP のデータ を取り込みます。



CData ADO.NET Provider for SAP ERP は、サードパーティ製コントロールと組み合わせて使える標準的なADO.NET データアクセスコンポーネントを備えています。通常のADO.NET データバインドの手順に沿って進めるだけで、UI コントロールからリアルタイムデータの取得・表示を実現できます。この記事では、CData のコンポーネントを使って DevExpress UI コントロール(Windows Forms およびWeb コントロール) にデータバインドする方法を紹介します。今回は、リアルタイムのデータを可視化するチャートにデータバインドしていきます。

SAP への接続はlibrfc32.dll、librfc32u.dll、NetWeaver、Web Services (SOAP) のどれかで行います。 ConnectionType 接続プロパティをCLASSIC (librfc32.dll)、CLASSIC_UNICODE (librfc32u.dll)、NETWEAVER、SOAP に設定します。

SOAP を使う場合、Client、RFCUrl、SystemNumber、User、Password のプロパティを設定します。

それ以外の方法の場合、Host、User、Password、Client、SystemNumber を指定します。

Note: librfc32.dll やその他のSAP 接続には対応しておりません。SAP インストールから対応する接続モジュールをマシンにインストールしておいてください。

詳細情報はobtaining the connection properties を参照してください。

Windows Forms コントロール

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

using (SAPERPConnection connection = new SAPERPConnection(
"Host=sap.mydomain.com;User=EXT90033;Password=xxx;Client=800;System Number=09;ConnectionType=Classic;Location=C:/mysapschemafolder;")) {
  SAPERPDataAdapter dataAdapter = new SAPERPDataAdapter(
  "SELECT MANDT, MBRSH FROM MARA", 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[] { "MBRSH" });
  series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
  series.ArgumentDataMember = "MANDT";
  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 でDevExpress Web を操作するための設定方法を説明します。SAPERPDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。

using DevExpress.XtraCharts;

using (SAPERPConnection connection = new SAPERPConnection(
"Host=sap.mydomain.com;User=EXT90033;Password=xxx;Client=800;System Number=09;ConnectionType=Classic;Location=C:/mysapschemafolder;"))
{
  SAPERPDataAdapter SAPERPDataAdapter1 = new SAPERPDataAdapter("SELECT MANDT, MBRSH FROM MARA", connection);
  DataTable table = new DataTable();
  SAPERPDataAdapter1.Fill(table);
  DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
  WebChartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "MBRSH" });
  series.ArgumentScaleType = ScaleType.Qualitative;
  series.ArgumentDataMember = "MANDT";
  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 ERP Data Provider の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

SAP ERP Icon SAP ERP ADO.NET Provider

極めて簡単にSAP NetWeaver と統合できます。SQL サーバーをクエリするのと同じくらい簡単に、.NET アプリケーションからSAP RFC にアクセスできるようになりました。