SAPの拡張手段/SAP Query
SAPが提供している、テーブル結合によるデータブラウズ、そこへのユーザ定義フィールドの追加、それらに対するコーディングが可能なレポーティングツールのこと。
単にクエリとも呼ぶ人もいればサップクエリと呼ぶ人もいるが、SAPでメシを食っているならエスエーピークエリと呼ぼう。
クエリ領域 †
クエリ本体やユーザグループなどのオブジェクトを管理する区分けのことで、ローカル領域(標準領域)とグローバル領域の2種類がある。 なお、どちらクエリ領域でも機能の全てを利用できる。
ローカル領域(標準領域) †
Quick Viewer的なクライアント依存オブジェクトで、こちらは移送できない。 逆に、適宜思いつきレベルの切り口で気軽にみることができる、アドホックな使い方ならこっち。 但し、その場合は品質管理の面から、凝ったものにしない方が良いだろう。
グローバル領域 †
通常のアドオンのようなクライアント非依存オブジェクトで、こちらは移送可能。
構成 †
下記の3つの要素で構成され、ユーザグループから順に構造化されている。
ユーザグループ †
その名の通り、クエリを利用できるユーザをIDでグルーピングする要素。 標準画面であれば権限チェックで「見てよいデータしか見れない」ということが可能であるが、クエリではテーブルを直にブラウズするため、こういった制御が必要となる。 また、インフォセットを紐付けなければ、クエリ本体も利用できない。
インフォセット †
テーブル結合や取り扱う項目を定義する。 論理データベースや抽出用のアドオンプログラムを割り当てることもできる。
クエリ本体 †
登録するユーザグループと利用するインフォセットを指定して定義する、実際にブラウズするレイアウトのこと。
具体的な用途 †
SAP Queryの正体は、インフォセットやクエリ等による定義を元に生成された、テーブルをブラウズするプログラムであり、誤解を恐れずに言えば複数テーブルを結合可能なデータブラウザのようなものと言える。
そのため、汎用性に重きを置いているため効率的なSQLが意識されているわけではなく、おしなべて言えばパフォーマンスが不充分であり、大量データの取り扱いには不向き。
会計にはレポートペインタ・レポートライタなどがあること、ロジならLISがあることを鑑みると、用途はマスタ照会系や残高レポートが一般的と言える。*1
或いは、ゼロベースでALVレポートを作成するよりマシということで、抽出プログラムのみをコーディングしインフォセットに割り当て、ALV出力まわりの機能を標準のクエリに任せるという手段もある。
Tips †
- インフォセットの更新時に、テキスト項目がどうのという警告メッセージが出る 構造でチェックテーブルなどを正しく設定していても、SQ01のクエリ編集画面で、その項目のテキスト項目が表示されないことがある。 その場合、SQ02の第一画面のメニューから、インフォセット→補足機能→「調整」または「テキスト項目更新」を行うと消える。
- 関連するSAP Note SAP Noteの項を参照のこと。
- トランザクションコードについて クエリによって生成されたプログラムはあくまで二次的なものであり、他のアドオンと違い本体ではなく、トランザクションコードに直接割当してはならない! クエリの呼び出しは、SAP_QUERY_CALLというプログラムを経由すること。
コメントはありません。 Comments/SAPの拡張手段/SAP Query