この記事を読むメリット
- T-CODE:SE16Hを用いてテーブルの検索とグループ化による集計をすることができるようになります。
- T-CODE:SE16Hを用いて複数テーブルを外部結合もしくは外部結合して検索をすることができるようになります。
T-CODE:SE16やSE16Nは知っているけどSE16Hなんてのがあるのね!便利そうだけど、どうやって使うんだろう…。
T-CODE:SE16HではSE16やSE16Nと同じようにテーブルを条件指定して検索できるのはもちろん、グループ化して集計した結果を表示させたり、さらにグループ化して集計した項目に対して条件を指定することができます。
また、テーブルを結合(内部結合/外部結合)した検索もできるようになり、保守での調査や開発でのテストデータ検索などに使うことができて非常に便利なんです!
※以下ではテーブル照会方法をまとめて紹介しているので、こちらも参考にしてみて下さいね。
あわせて読みたい
【SAP共通】テーブルデータを照会する方法まとめ
この記事を読むメリット テーブルに格納されているデータを検索・照会することができるようになります。 SAPに登録されているテーブルのレコードを確認したいんだけど、…
それではさっそくT-CODE:SE16Hの使い方を徹底解説していきます!
この記事のポイント
SE16Hへのアクセスの補足
T-CODE:SE16HはT-CODE:SE16Tの以下メニューからアクセスすることも可能です。
【SE16Hの使い方①】グループ化・集計
T-CODE:SE16Hを用いたグループ化や集計する方法について以下の3点を解説します。
- グループ化してレコード出力
- (グループ化したレコードの数値項目に対して)合計値を出力
- (グループ化したレコードの数値項目に対して)最大値/最小値/平均値を出力
1.グループ化してレコード出力
グループ化とは、テーブルのある項目単位で集計する際に使用します。
T-CODE:SE16Hでは集計したレコード数が「エントリ数」として表示されます。
実際の使い方は以下の例を参照するのじゃ!
(EKPO:購買発注明細テーブルを用いているぞい)
- 集計したい項目の「グループ」にチェックを入れることで、その項目でグループ化することが可能です。
- グループ化する項目は複数選択可能です。
上記のレコードのうち、「グルーピング最小」に最小エントリ数を入力することで、その値以上のエントリ数のレコードのみ表示させるような条件も付けることもできます。
2.合計値を出力
実際の使い方は以下の例を参照するのじゃ!
(先ほど同様、EKPO:購買発注明細テーブルを用いているぞい)
テーブルの数値項目については、「合計」にチェックすることによりグループ化されたレコードの合計値も表示させることができます。
合計値に対して条件を指定して検索結果を絞り込むことができます。
条件は「HAVING Option」「HAVING値」を使用します。
3.最大値/最小値/平均値を出力
グループ化されたレコードについて、合計以外でも集計することが可能です。
以下のように最大値・最小値・平均値が選択できます。
実際の使い方は以下の例を参照するのじゃ!
(先ほど同様、EKPO:購買発注明細テーブルを用いているぞい)
テーブルの数値項目については、最大値・最小値・平均値を「集計」で選択することによりグループ化されたレコードの集計結果も表示させることができます。
【SE16Hの使い方②】テーブル結合
ここではT-CODE:SE16Hを用いて複数のテーブルを結合し検索する方法を解説します。
慣れるとクイックビューアを作るより早くテーブル結合した検索ができるようになるのでぜひ覚えておくと良いでしょう。(前提としてSQLの基礎知識が必要となります。)
設定画面
T-CODE:SE16Hの外部結合定義から設定することができます。
いきなりですがテーブル結合の定義を設定をした画面をお見せします!
(ある程度SQLの知識があれば、下の画面を見るだけで使いこなせるようになる方もいるかもしれません)
設定手順については後続で詳しく解説していきます。
上の画面の設定を用いたT-CODE:SE16Hでの検索結果は以下のようになります。
設定手順
それでは設定手順を詳しく見ていきましょう。
実際のSAPの画面上では購買発注伝票のヘッダテーブル:EKKOと明細テーブル:EKPOを結合する手順を例に解説していきます。
まずはT-CODE:SE16Hの画面で結合元となるテーブルIDを指定し、外部結合定義の画面を開きます。
外部結合定義画面では外部結合定義IDと名称を入力し、新規作成ボタンを押下します。
※外部結合定義IDと名称には特に制約は無いので自分で分かりやすい名前を付けましょう。
※新規作成の右側のアイコンを選択することで変更や削除等も実行です。
「二次テーブルの定義」の区画の設定に移り以下を設定します。
- 二次テーブル
結合するテーブルIDを入力します。
- 出力ボタン
押下するとテーブルの項目が表示されます。
検索結果に出力したい項目にはチェックを入れます。また数値項目については集計(最大値/最小値/平均値)を選択可能です。
- 内部結合
内部結合とする場合はチェックを付けます。外部結合とする場合はチェックを外します。
設定した二次テーブルを選択して虫眼鏡ボタンを押下します。すると「選択された二次テーブル」に選択したテーブルIDが表示されます。
「二次テーブルのアクセス定義」の区画の設定に移ります。
登録ボタンを押下すると入力できるようになるので、以下を設定します。
- テーブル項目
二次テーブルの項目名を入力します。
- Method
検索条件で使用するMethodを選択します。
テーブル同士の結合条件を設定する場合は「REFERENCE 参照」を設定します。
Methodの選択内容によりシステム項目や定数なども条件として設定可能です。
- 参考項目/定数
テーブル同士の結合条件を設定する場合は、結合するテーブルの項目名を設定します。
Methodの選択内容によりシステム項目や定数なども条件として設定可能です。
- 開始 Table
テーブル同士の結合条件を設定する場合は、結合するテーブルIDを設定します。
- Option
「=」「≠」「≧」「≦」などの結合条件の符号を設定します。指定しないデフォルトの状態では「=」となります。
※以下の画面の例ではEKKO-EBELN=EKPO-EBELNの結合条件とするのでデフォルト(つまり「=」)としています。
これで保存が完了しテーブル結合した検索結果を表示することができます。
さっそく保存した外部結合定義を用いて検索してみるのじゃ!!!
外部結合定義を用いてテーブル検索する方法は、T-CODE:SE16HにてテーブルIDと外部結合定義IDを入力し検索実行すればOK。
検索結果に外部結合定義で出力設定した項目が表示されていることが分かります。
補足
二次テーブルには複数のテーブルを設定することも可能です。
以下は先ほどの外部結合定義に、さらに入出庫伝票の明細テーブル:MSEGを結合した例となります。
このように「二次テーブルのアクセス定義」では、定数を条件に指定することも可能です。
さらに入出庫伝票のヘッダテーブル:MKPFを結合したのが以下の例です。
このように「二次テーブルのアクセス定義」では、システム項目(SY-XXXX)を条件に指定することも可能です。※ここではSY-UNAME(ログインユーザ)での絞り込みを行っています。
システム項目については以下で解説しています!
あわせて読みたい
【SAP ABAP】システムテーブルSYST項目(SY-SUBRCなど)まとめ
この記事を読むメリット よく使うSYST項目(SY-xxx)について知ることができます。 ABAPの開発をしているとよくSY-xxxをよく見かけるのですが何を示しているものなんです…
さいごに
T-CODE:SE16Hでは、これまでの検索ではできなかった集計や条件指定、そしてテーブル結合を用いた検索ができるようになりました。
SAPの導入や保守や開発でも活躍する機能なので、使いこなせるようになるためぜひ積極的に使っていきましょう!
その他のSAPの便利な小ワザは以下にまとめているので確認してみて下さいね!
あわせて読みたい
SAP小ワザまとめ
ここではSAPで使える小技をまとめていくのじゃ! 【文字列検索】 【テーブル検索】 【カスタマイズ】 【その他】 SAPの小ワザまとめは以上じゃ!
T-CODE:SE16Hの主な機能と使い方の解説は以上じゃ!