CData Software Blog

クラウド連携のCData Software の技術ブログです。

CData SAP ERP Driver で SAP Query を使う方法

f:id:sugimomoto:20220114170447p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

今回はSAP ERP Driverを利用中のお客様からよく質問をいただく、SAP Query の使い方を解説したいと思います。

www.cdata.com

SAP Query について

SAP Query はUI上だとトランザクションコード「SQ01」から登録や参照ができる機能ですね。

it-biz.online

help.sap.com

f:id:sugimomoto:20220114170203p:plain

詳細な機能解説は省きますが、Valiantと各種パラメータを渡して、結果セットを受け取ることができます。

f:id:sugimomoto:20220114170209p:plain

f:id:sugimomoto:20220114170213p:plain

CData SAP ERP DriverではデフォルトではSAPテーブルのみが利用できる機能として表示されますが、このSAP Query も利用することができるようになっています。

CData SAP Driver で SAP Query を有効化する方法

それでは早速CData SAP Driver から SAP Queryを実行してみましょう。

今回は CData SAP ERP JDBC Driver を利用していますが、ODBCADO.NETExcel Add-inでも設定は同様です。

www.cdata.com

前述の通り、CData SAP Driver ではデフォルトでSAP Query が表示されません。デフォルトでも表示されるテーブルが多いため、非表示設定になっています。

以下のQuery Modeのプロパティを「Global、Local、またはAll 」にすることで利用できるようになります。

cdn.cdata.com

例えば以下の「FI_AP_20_1_Q1」というクエリであれば

f:id:sugimomoto:20220114170219p:plain

CData Driver では以下のようにビューの一つとして提供されるようになります。

f:id:sugimomoto:20220114170225p:plain

SAP Query の使い方

続いて、SAP Query を実行してみましょう。

SAP Query を画面上から利用する場合、まず「Variant」を選択し、

f:id:sugimomoto:20220114170230p:plain

必要な取得条件をそれぞれ入力して結果を得ます。

f:id:sugimomoto:20220114170234p:plain

ですので、CData SAP Driver でもこれらの指定を行わなければデータを取得することができません。

それぞれの取得条件はカラムとして定義されるように構成されているので、このそれぞれのカラムに対してWHERE句で条件をわたすことで、データが取得できるようになります。

f:id:sugimomoto:20220114170239p:plain

画面上とシステム上の定義で少し名前が異なりますが、今回のSAP Query の場合、以下のようなSQLを記述することで呼び出すことができます。このあたりの条件記述が必須になっているので、SAP Query を利用する場合は注意しましょう。

SELECT * FROM [FI_BL_PT_10_Q1] 
WHERE 
Variant = 'SAP&STANDARD' and 
COCD = '0001' and 
KRI_TYPE = '01' and 
DAYS = 1;

Tips

ちなみに、Power BIなどのBIツールからクエリをしたい場合、細かな条件式を記述するのが難しい場合もあるかと思います。

その場合は、以下のユーザー定義ビューで、予め各種条件を指定したCData Driver内部ビューを作成しておくこともおすすめです。

www.cdatablog.jp

おわりに

その他、もし使っていてよくわからない、このSAPの機能はどう利用すればいいのか? といった疑問・質問があれば、お気軽にテクニカルサポートフォームまでお問い合わせください。

https://www.cdata.com/jp/support/submit.aspx