グループ系のデータが保存されているテーブルと各セットクラス

WBS要素や原価センタ、統計キー数値などのマスタデータをツリー状にして、階層構造で保持する機能としてグループ機能があります。

それぞれ特別なトランザクションから階層構造を作成していき、照会画面から確認することができるのですが、アドオンプログラムなどから、その情報を利用する場合には標準テーブルからデータを取得する必要があります。

メモ

SAPのシステムでは階層構造を持つグループ機能を『セット』と呼んでいます。

  • SETHEADER:セットの基本的な情報が保存されている。
  • SETNODE:セットとセットの関連が格納されている
  • SETLEAF:セットに紐付いているマスタ値が格納されている。

各マスタデータから上位層のセットを取得する方法

例えば、WBS要素に対してWBS要素グループが定義されており、そのWBS要素を最下層として上位のWBS要素グループを取得する場合、以下の順で取得できます。

 ※原価要素グループや利益センタグループ、その他のグループでも同じ方法で取得できます。

①SETLEAFでWBS要素が含まれるWBS要素を取得

SETの構造として、一番最下層には直接マスタを定義しているグループがくる形になります。

上の画像でいうと、黄緑の部分がWBS要素と、そのすぐ上のWBS要素グループがSETLEAFに格納されています。まずはそれを取得する形です。

②上位階層のWBS要素グループを取得

WBS要素グループ間の親子関係が保存されているテーブルがSETNODEなので、そのテーブルから上位階層を取得します。補助セット名(SUBSETNAME)に①で取得したセット名を指定してデータを抽出すれば、その上位のグループを取得できる形です。

グループは任意の深さで階層を作ることができるため、階層が深い場合はSETNODEを繰り返し読んでいけば最上位層までたどり着けます。

各データ毎のセットクラス

各グループデータが同じテーブルで保存されているため、それを判別するためのデータが必要となります。セットクラスという項目が各セット用テーブルの項目として用意されており、以下のようにデータが切り分けられています。

セットクラスグループ
0101原価センタグループ
0102原価要素グループ
0104統計キー数値グループ
0105活動タイプグループ
0106利益センタグループ
0109勘定グループ
0110WBS要素グループ

実際には他にもセットクラスが用意されていますが、よく使うものだけをピックアップして記載しました。

この記事は役に立ちましたか?

もし参考になりましたら、下記のボタンで教えてください。

RELATED

コメント

この記事へのコメントはありません。