「標準の一覧に必要な項目がない。でも、そのためだけにABAPのレポートを開発するほどではない」。そんなときに検討したいのが、トランザクションSQVI(クイックビューア/QuickViewer)です。テーブルなどをデータソースにして、表示項目と抽出条件を選ぶことで一覧を作成できます。
この記事では、まず単一テーブルから一覧を作る流れを、品目マスタの例で説明します。そのうえで、テーブル結合、SE16NやSAP Queryとの使い分け、権限・性能上の注意を整理します。画面名称はSAP GUIのバージョンや設定で多少異なります。
SQVIでできることと、向いている用途
QuickViewのデータソースには、テーブル/ビュー、テーブル結合、論理データベース、InfoSetなどを選べます。必要な項目だけを一覧にし、選択画面で条件を指定して実行するための機能です。項目と条件が決まっている簡易な照会や、調査用の一時的な一覧に向いています。
SQVIは個人が作成・利用するQuickViewが基本です。複数人で継続利用するレポートや、環境間で管理する必要があるものは、SAP Query(SQ01など)への変換・運用を含めて検討します。複雑な加工、集計、業務ロジックが必要なら、標準レポートやABAP開発の方が適切な場合があります。
作成例:MARAから品目の一覧を作る
例として品目マスタの基本データを持つMARAから、品目番号・品目タイプ・品目グループ・基本数量単位を表示します。MARAは件数が多くなりやすいため、実行時は品目タイプなどで対象を絞ってください。
- SAP GUIでSQVIを実行し、新しいQuickView名を入力して「登録/作成」を選びます。名前は14文字以内で設定します。
- タイトルを入力し、データソースに「テーブル」を選んで、テーブル名MARAを指定します。初めて試すなら、標準の一覧を作りやすい基本モードで十分です。
- 一覧に出す項目として、品目番号(MATNR)、品目タイプ(MTART)、品目グループ(MATKL)、基本数量単位(MEINS)を選びます。
- 抽出条件に使う項目として、少なくとも品目タイプ(MTART)などを選びます。「一覧項目」と「選択項目」は用途が違うため、必要な方に設定します。
- 保存して実行し、選択画面で条件を入力します。結果の件数と各項目が想定どおりかを確認します。
初回は対象を小さく絞って試すと、項目の意味や表示形式を確認しやすくなります。品目テキストはMARAに含まれないため、名称も必要ならテキスト用テーブルの利用を検討します。
複数テーブルを結合するときの注意
SQVIではデータソースに「テーブル結合」を選び、複数テーブルを関連付けられます。ただし、結合キーが不足すると、行が増えたり別のデータが混ざったりします。たとえば品目の基本データと品目テキストを結合する場合、品目番号に加え、テキストの言語を選択条件に含めないと、多言語分の行が出る可能性があります。
結合前に、各テーブルのキー、1対1・1対多の関係、クライアントや言語などの条件を確認しましょう。結果の総件数だけでなく、具体的な数件を元テーブルと照合することも重要です。階層構造や複雑な業務ロジックを単純な結合で表せない場合は、別のデータソースや実装方法を選びます。
SE16N・SAP Query・ABAPとの使い分け
| 手段 | 向いている場面 | 確認点 |
|---|---|---|
| SE16N | 既存テーブルをその場で確認する | 主にテーブル単位の照会。表示形式や条件を確認する |
| SQVI | 自分用の簡易一覧を繰り返し使う | 表示項目・抽出項目と結合条件を設計する |
| SAP Query | 複数ユーザーで継続利用する一覧 | ユーザーグループ、InfoSet、権限、運用を設計する |
| ABAPレポート | 複雑な計算・判定・出力が必要 | 開発と保守のコストを見込む |
SE16Nでのテーブル照会は内部形式・外部形式を確認するSE16Nの記事も参考になります。同じ抽出条件を何度も使うだけなら、SE16Nのバリアント保存で足りる場合もあります。
「照会だけ」でも権限と性能を確認する
SQVIでQuickViewを作れたとしても、すべてのデータを自由に閲覧できるわけではありません。実行にはSQVIなどのトランザクション権限に加え、参照するデータソースへの権限が必要です。個人情報や機密情報を含むテーブルを扱う際は、権限や社内の利用ルールを確認してください。
また、更新機能がないことと、システムに影響がないことは同義ではありません。大きなテーブルを無条件に読み込んだり、複数の大規模テーブルを結合したりすると、処理時間やシステム負荷が増えます。選択条件を先に設計し、必要な項目・件数に絞って利用しましょう。
まとめ
SQVIは、ABAPを書かずに簡易な一覧を作りたいときに便利です。まず単一テーブルで「一覧項目」と「選択項目」の違いを押さえ、必要な場合だけ結合を追加してください。継続的な共有や環境間での管理が必要になったら、SAP Queryなどへ発展させるのが自然です。
参考・関連記事
- テーブルデータの内部形式と外部形式を確認するならSE16N:元テーブルの値や表示形式を確認する際に。
- SE16Nでテーブル照会する時の条件を保存:一覧を作る前に、条件保存だけで足りるか判断する際に。
- SE16Nでテーブルデータを変更する方法と注意点:照会と更新を混同せず、用途を分けて考える際に。