SAPシステムの運用現場で、「テーブルの中身を見たい」と思うことは必ずあるはずだ。
そんなときに頼れるのが、SAPのテーブル閲覧用トランザクションコード「SE16」シリーズである。
本記事は、
- SE16、SE16N、SE16H について、それぞれの特徴、利用する場面、注意すべき点の整理
- HANAデータベースに最適化された、SE16Hの基本操作
- SE16H による、テーブル結合の具体的な手順
という、SE16 シリーズを徹底解説する内容となっている。
本記事を最後まで読めば、SAP初心者から中級者まで、「テーブルの中身を調べる」ための武器を使いこなせるようになるはずだ。
SE16とは?
テーブルの中身を調べるためのツール
T-CODE: SE16「データブラウザ」は、SAP ERPにおいてデータベースのテーブルの中身を直接照会できるツールである。SAP開発者やコンサルタントならば、テーブルの内容をチェックするために、よく活用するT-CODEだ。
SE16 シリーズは以下のような場面で活用される。
- トランザクションによって登録・変更されたデータの確認
- バッチ処理後のデータ確認
- 不正データの調査
- データ移行時の検証
- カスタム(アドオン)開発のデバッグ支援
SE16シリーズの種類とその違い
「SE16」の名前を冠するトランザクションはいくつも存在する。それぞれの登場背景、目的、特徴を表で整理しておこう。
SE16 | SE16N | SE16H | |
---|---|---|---|
対応システム | SAP R/3、ECC、S/4HANA | ECC、S/4HANA | S/4HANA |
主な用途 | 小規模なテーブルデータの表示 | データ更新可能 | テーブル結合による高度分析 |
特徴 | シンプルなUI、基本的なデータブラウザ | 改良されたUI、フィールド表示のカスタマイズが可能 | テーブル結合、グループ集計、高速表示 |
検索速度 | 遅い(大量データでは非推奨) | 中程度 | 高速(HANAのインメモリ最適化) |
テーブル結合(JOIN) | 不可 | 不可 | 可能 |
レポート出力 | CSV等(制限あり) | Excel対応 | Excel対応 |
注意点 | 機能限定、大量データ処理時に低速 | 誤操作リスク | 学習曲線高い、SAP HANA専用 |
SE16:データブラウザの原点
SE16は、SAP R/3 時代に導入されたデータブラウザであり、テーブルの内容を直接閲覧するための基本的なツールとして位置付けられている。当時、ユーザーがデータベーステーブルの内容を迅速に確認できる手段が求められており、そのニーズに応える形で登場した。
- 特徴
-
- 任意のテーブル名を入力し、その内容を直接表示。
- データ照会に特化したシンプルなユーザーインターフェース。初心者でも容易に利用可能。
- 活用シーン
-
- 小規模なデータの確認。
- バッチ処理後のデータ検証。
- 開発中のプログラムで使用するテーブルデータの確認。
- 弱点
-
- 大量データの抽出時にパフォーマンスが低下することがある。
- 最新の機能や設定の柔軟性に欠けるので、現在ではあまり使われない。
SE16N:ユーザビリティ向上と機能拡張
SE16の改良版として、SAP ERP Central Component(ECC)時代に導入されたのがSE16Nである。ユーザーインターフェースの改善と機能拡張が求められ、これに応える形で登場した。
- 特徴
-
- UIが改良されており、フィールド名の表示切替(技術名/説明)などが可能。
- データのフィルタリングやソート機能が強化され、より柔軟なデータ抽出が可能。
- データの直接編集機能(権限により制御)を備える。
- 活用シーン
-
- 中規模なデータセットに対応可能。
- テストデータの作成や編集。
- 弱点
-
- 不適切なデータ編集によるデータ整合性のリスクが存在。
- SE16と同様、大量データ処理時のパフォーマンス課題が残る。
SE16H:HANA時代の高速データアクセス
SAP HANAの登場により、インメモリデータベースの特性を活かした高速データアクセスが可能となった。この新しい技術基盤に対応するため、SAP S/4HANAで導入されたのが SE16H である。
- 特徴
-
- HANAのインメモリ技術を活用し、大量データの高速検索が可能。
- SAP GUI上でのテーブル結合(JOIN)機能を搭載し、複数テーブルのデータを一度に抽出可能。
- 集計、フィルタリング、並べ替えなどのデータ分析機能の強化。
- 活用シーン
-
- 複数テーブルにまたがるデータの抽出と分析。
- リアルタイムでの大量データの迅速な抽出。
- 弱点
-
- HANA専用。
- テーブル結合やグループ集計など、機能が豊富な分、学習のハードルが高い。
- テーブル結合の操作に不慣れだと、意図しない抽出結果となる恐れがある。
- テーブルの構造やリレーションを理解していないと、パフォーマンス低下や誤ったデータを取得してしまう(SQL文の知識が求められる)。
SE11:テーブル構造を調べるT-CODE
SE11:「ABAPディクショナリ(ABAP Dictionary)」は、SAPシステム内のデータ構造(テーブル、ビュー、データ要素など)を作成、表示、管理することができるトランザクションだ。
SE16がテーブルやビューの中身を見るトランザクションであるのに対し、SE11はテーブルの各項目の属性を細かく照会することが可能である。
後述するSE16Hにおいてテーブルを結合する際には、テーブルのキーとなる項目を把握しておく必要がある。このキー項目を確認するのに、SE11を利用することができる。
SE16Hの使い方 – 基本編
テーブルの内容を調べる基本的な手順
以下は、SE16H を利用してSAP標準テーブルの内容を紹介する手順である。
- T-CD: SE16H を起動する。

- 「Dataベース」に、テーブル名またはビュー名を入力(例:EKPO)。
- 「選択基準」に、検索条件を入力。
- メニューバーから「オンライン」を選択、または[F8]キーを押して検索実行。
- 結果が一覧表示される。
検索の件数、表示されるレコード数が多い場合は、「最大該当数」を適宜増やしてから検索する。
「選択基準」の使い方
「選択基準」には検索条件となる値を入力する以外に、項目の並べ替えや、集計の方法などを指定できる。
- 開始値/終了値
-
検索条件となる値の、開始値と終了値を入力する。そのまま入力すると「From~To」となる。
「AND」や「OR」条件を指定する場合は、右隣にある[追加]ボタンを押下して条件を追加する。 - 出力
-
チェックした項目が、検索結果の一覧表に出力される。
- 合計
-
数値項目の場合に指定可能。指定した項目の合計値を算出して表示する。集計に使ったエントリ数(レコード数)も表示される。
- グループ
-
同じ値を持つ項目をグループとして集計する場合に指定する。SQL文の「GROUP BY」に相当。
- 順序
-
複数の項目をグループまたはソート指定した際の、項目の優先順序を、1,2,3, … と数字で指定する。
- ソート/ソートタイプ
-
指定した項目で並べ替える。昇順/降順を指定できる。
- 集計
-
指定すると、項目の平均値(AVG)、最大値(MAX)、最小値(MIN)のいずれかを取得できる。
たとえば、テーブルEKPOで「正味価格(METPR)」に「MAX」を指定して実行すると、全レコード中の正味価格の最大値が表示される。
グループ集計
同じ値のデータを纏めてグループとし、グループごとに集計や並べ替えができる。
グループごとの合計を表示する
たとえば、EKKO(購買発注明細)テーブルにおいて、品目コードごとに、発注数量や発注額を合計して表示するには、次のように設定する。
- 「品目」の「グループ」をON(チェック)
- 「発注数量」「正味発注額」の「合計」をON(チェック)

左記の設定を行い、データ抽出を実行すると次のように表示される。

グループごとの最大、最小、平均を表示する
以下はEKKO(購買発注明細)テーブルにおいて、品目コードごとの、発注数量の最大値(MAX)を求める設定の例である。


SE16Hの設定変更
「技術設定」画面からは、SE16Hの各種設定を行える。
SE16Hのメニューから「追加」→「設定変更」を選択し、「技術設定」画面を開く。

一覧出力設定
データ抽出して出力される一覧画面の設定を行う。
- 列ヘッダとしての技術名
-
列ヘッダの名称を、日本語(ローカル)名ではなく技術名で表示する。
- キー列スクローラブル
-
デフォルトではキー列(一覧の左の列)は固定表示されており、横スクロールによって移動しないが、この設定をONにすると固定表示が解除され、横スクロールによって移動するようになる。
- 変換Exitなしの出力
-
デフォルトでは、たとえば数値項目はアルファ変換(前ゼロの除去)されて表示される。この設定をONにすると、変換Exitが無効となり、データベースに記録されている値がそのまま表示される。
- 最新レイアウト自動保存
-
一覧出力で「レイアウト変更」した際、「名前を付けて保存」をしなくても、自動的にレイアウトが保存される。
- 最新レイアウト自動使用
-
「最新レイアウト自動保存」によって保存されたレイアウトが、一覧出力する際に自動的に使用される。この設定をONにしていると、グループ集計の結果が正常に表示されない場合があるため、グループ集計を行う場合はOFFにしておいた方がよい。
- 列幅最適化の無効化
-
一覧出力の列幅の自動調整をOFFにする。列幅の調整を自身で行いたい場合、この設定はONにする。
第一画面の設定
「選択条件」など、第一画面の設定を行う。
- 技術列名先行
-
デフォルトでは左側に表示されている項目名(列名)は日本(ローカル)語であり、技術名は右側に表示されているが、この設定をONにすると、左側には技術名が表示されるようになる。
- 技術ビュー
-
「選択条件」の右側の列に、データの型や長さなど、項目の技術情報を追加で表示する。
- 列幅縮小
-
「選択条件」の列の幅を縮小する。列幅が縮小されると、横スクロールの負担を減らすことができる。
SE16Hの使い方 – 応用編:テーブル結合
テーブル結合(JOIN)の手順
以下は、EKKO(購買伝票ヘッダ)とEKPO(購買伝票明細)の2つのテーブルを結合し、両テーブルのデータを並べて一覧表示するための手順である。
- 「Dataベース」にメインテーブルとなるテーブル「EKKO」を入力し、画面右上にある「外部結合定義」の右にある「関係更新」ボタンを押下する。

- 「外部結合定義名」(ID)と「名称」(説明)に値を入力し、「登録」ボタンを押下する。

- 「二次テーブルの定義」の欄が入力可能になるので、「二次テーブル」にテーブル名「EKPO」を入力し、「内部結合」にチェックを入れる。

「内部結合」にチェックを入れなかった場合、メインテーブルと二次テーブルは外部結合となる。内部結合はSQLでいう「INNER JOIN」であり、外部結合は「LEFT OUTER JOIN」である。
- 内部結合
(INNER JOIN) -
両テーブル(EKKOとEKPO)にデータが存在するレコードのみ取得される。
- 外部結合
(LEFT OUTER JOIN) -
メインテーブル(EKKO) に存在するレコードすべてが取得される。二次テーブル(EKPO) に対応するレコードがない場合、二次テーブル側のフィールドは NULLとなる。
- 「出力項目定義」ボタンを押下し、二次テーブルの出力項目を選択するための「項目一覧更新」画面を開く。

- 二次テーブルの項目一覧から、出力したい項目の「照会」チェックボックスにチェックを入れる。

チェックし終えたら、画面右下の「エントリ適用」ボタンを押下して「二次テーブルの定義」に戻る。
- 表示中の「二次テーブル」の行を選択し、「詳細更新」ボタンを押下、または選択行をダブルクリックする。

「選択された二次テーブル」に「EKPO」が表示された状態となる。

- 画面下の「登録」ボタンを押下し、「二次テーブルのアクセス定義」の先頭行を入力可能な状態にする。

- 「二次テーブルのアクセス定義」に、テーブル結合のための条件(キー項目の指定)を次のように設定する。

- テーブル項目
-
二次テーブルの項目一覧から「EBELN」(購買伝票番号)を選択する。
- Method
-
「REFERENCE 参照」を選択する。
- 参照項目/定数
-
メインテーブル(EKKO)の項目「EBELN」を手入力する。
(テーブル項目名は一覧表示されないため手入力する) - 開始Table
-
結合するメインテーブル名= EKKO を手入力する。
(この例のように、結合相手のテーブルが一つのみの場合は省略可)
- すべての設定を終えたら、画面右下の「エントリ適用」ボタンを押下し、登録内容を保存する。
SE16Hの画面に戻ると、「外部結合定義」に登録した外部結合定義名が表示されているのが確認できる。

これで2つのテーブルの結合は完了である。
作成した「外部結合定義」は、SE16Hを終了しても保存される。次回SE16Hを起動し、メインテーブルにEKKOを指定すれば、保存済の外部結合定義を呼び出すことができる。
テーブル結合の注意点
テーブル結合を誤ると、期待していた抽出結果が得られず、誤った分析をしかねないため注意のこと。
テーブル結合はSQL文の知識を持って臨んだほうが無難だろう。
- クライアント(MANDT)は、結合項目として指定する必要はない。
- 結合する項目が不足している場合、抽出されるレコード数が爆発的に増えることがある。そうならないためには、SE11でテーブルのキー項目を確認し、テーブル結合を行う。
- 内部結合では結合する項目の値が不一致の場合、抽出されるレコードは少なくなるか、まったく抽出されない。
二次テーブルのフィールドを一覧に表示する手順
結合した二次テーブルの項目は「選択基準」に表示されない。また、抽出したデータは、そのままでは一覧表示に表示されない。二次テーブルの項目を一覧表示させるには、データ抽出後に次の操作を行う。
なお、一覧表示に表示できる項目は、二次テーブルの項目一覧で「照会」にチェックした項目が対象である。
- 一覧表示のメニューボタンから「レイアウト変更」を選択する。

- 右側の「列セット」から、表示したい項目を選択(複数選択する場合はCtrlキーを押しながら選択する)し、「選択項目表示」ボタン(F7キー)を押下する。

選択した項目が、左側の「表示される列」に移動される。
「表示される列」では、項目の並び順を変更することもできる。また、選択した項目および並び順を保存したい場合は「名前を付けて保存」ボタンを押下し、設定内容を保存する。

- 「適用」ボタンを押下する。一覧に戻ると、選択した第二テーブルの項目が右の方に表示されている。
列はドラッグ&ドロップ操作で並び替えることも可能だ。
まとめ:SE16Hを使いこなしてSAPのデータ分析を極めろ
SAPにおいて、「テーブルの内容を調べる」行為はすべての業務・開発・運用の基盤である。その中核となり得る機能がSE16シリーズであり、特にS/4HANA環境ではSE16Hが最もパワフルなツールである。
SE16Hはさらに、テーブル結合ができるようになっており、複数のテーブルを結合して広範囲なデータ分析が行える。SE16Hを使いこなせば、データ分析・不正データの調査・業務レポート作成など、様々なデータの利活用が可能だ。
本記事が、SE16H を使いこなすための一助となれば幸いである。


コメント