こんにちは。CData Software Japan リードエンジニアの杉本です。
今回はSAP ERP Driverを利用中のお客様からよく質問をいただく、SAP Query の使い方を解説したいと思います。
SAP Query について
SAP Query はUI上だとトランザクションコード「SQ01」から登録や参照ができる機能ですね。
詳細な機能解説は省きますが、Valiantと各種パラメータを渡して、結果セットを受け取ることができます。
CData SAP ERP DriverではデフォルトではSAPテーブルのみが利用できる機能として表示されますが、このSAP Query も利用することができるようになっています。
CData SAP Driver で SAP Query を有効化する方法
それでは早速CData SAP Driver から SAP Queryを実行してみましょう。
今回は CData SAP ERP JDBC Driver を利用していますが、ODBCやADO.NET・Excel Add-inでも設定は同様です。
前述の通り、CData SAP Driver ではデフォルトでSAP Query が表示されません。デフォルトでも表示されるテーブルが多いため、非表示設定になっています。
以下のQuery Modeのプロパティを「Global、Local、またはAll 」にすることで利用できるようになります。
例えば以下の「FI_AP_20_1_Q1」というクエリであれば
CData Driver では以下のようにビューの一つとして提供されるようになります。
SAP Query の使い方
続いて、SAP Query を実行してみましょう。
SAP Query を画面上から利用する場合、まず「Variant」を選択し、
必要な取得条件をそれぞれ入力して結果を得ます。
ですので、CData SAP Driver でもこれらの指定を行わなければデータを取得することができません。
それぞれの取得条件はカラムとして定義されるように構成されているので、このそれぞれのカラムに対してWHERE句で条件をわたすことで、データが取得できるようになります。
画面上とシステム上の定義で少し名前が異なりますが、今回の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;
なお、パラメータの指定時には接続プロパティの「SupportEnhancedSQL」をFalseに指定してください。。
Tips
ちなみに、Power BIなどのBIツールからクエリをしたい場合、細かな条件式を記述するのが難しい場合もあるかと思います。
その場合は、以下のユーザー定義ビューで、予め各種条件を指定したCData Driver内部ビューを作成しておくこともおすすめです。
おわりに
その他、もし使っていてよくわからない、このSAPの機能はどう利用すればいいのか? といった疑問・質問があれば、お気軽にテクニカルサポートフォームまでお問い合わせください。