特定の品目を構成品に持っている品目を調べたい/品目を構成品を一覧出力したい

特定の品目を構成品に持っている品目を調べたいです。対処法を教えてください。
品目の構成品を一覧出力したいです。対処法を教えてください。

スポンサーリンク

事前知識

BOM構成について

品目とBOMは以下のテーブルで管理されています。

テーブルID内容説明備考
STKOBOM ヘッダ
STPOBOM 明細BOMの構成品の一覧を保持
MAST品目の BOM へのリンク品目とBOMの紐付きを保持

BOMはBOMIDをキーとして管理されています。これはBOMは同じ品目に対して、複数のBOMをもつことができるためです(BOM用途や代替BOMなどで、複数のBOMを管理可能)。

スポンサーリンク

対応方法

テーブルデータから照会する方法と、SAP標準のレポートを使う方法があります。用途に都合の良い方を使ってください。

  • BOMIDも一覧に表示する場合:テーブル結合
  • 多段階BOMを展開/逆展開する場合:SAP標準のレポートを利用

BOMIDも一覧に表示する場合:テーブル結合

各テーブルをそれぞれ検索することでも対応できますが、テーブルを結合して検索した方がやりやすいです。

以下のトランザクションを起動後、診断>SQL Editor(ECCだと、SQLコマンドエディタ)でSQL Editorを開きます。

  • DB02
  • DBACOCKPIT
  • ST04

目的に応じたSQLを以下からコピペし、品目コードを書き換えて実行してください。

特定の品目を構成品に持っている品目を調べる

SELECT
    MAST.MATNR /*品目*/
    ,MAST.WERKS /*プラント*/
    ,MAST.STLAN /*用途*/
    ,MAST.STLAL /*代替BOM*/
    ,STPO.STLNR /*BOM*/
    ,STPO.IDNRK /*構成品目*/
FROM
    STPO
INNER JOIN MAST
    ON  MAST.MANDT = STPO.MANDT
    AND MAST.STLNR = STPO.STLNR
WHERE
    STPO.MANDT = '100' /*ここにクライアントを入れる*/
    AND STPO.IDNRK = 'A123456789' /*ここに構成品目を入れる*/

品目の構成品を調べる

SELECT
    MAST.MATNR /*品目*/
    ,MAST.WERKS /*プラント*/
    ,MAST.STLAN /*用途*/
    ,MAST.STLAL /*代替BOM*/
    ,STPO.STLNR /*BOM*/
    ,STPO.IDNRK /*構成品目*/
FROM
    STPO
INNER JOIN MAST
    ON  MAST.MANDT = STPO.MANDT
    AND MAST.STLNR = STPO.STLNR
    AND MAST.MATNR = 'A123456789' /*ここに品目を入れる*/
WHERE
    STPO.MANDT = '100' /*ここにクライアントを入れる*/

多段階BOMを展開/逆展開する場合:レポートのトランザクションを利用

SAP標準のトランザクションで、BOMを多段階で展開/逆展開する機能がある。単一品目に対して親品目をパッと照会するだけであれば、この機能でよい。

  • BOMを展開する:CS12
  • BOMを逆展開する:CS15、CS15M

ただし、親品目が多く存在する場合、レポート出力までに時間がかかるので注意。

Tr-Cd機能名称備考
CS11レベル毎 BOM品目の構成品を末端の品目まで展開して表示する。
CS12多段階 BOM品目の構成品を末端の品目まで展開して表示する。
CS13サマリ BOM構成品を集計して表示する。
CS14BOM比較2つのBOMを比較する。
CS15品目使用先一覧品目を使用している親品目を検索する。親品目の親品目があれば、それも表示する。
※プラントも入力すること
CS15M品目使用先一覧CS15の品目が複数指定できるようになったもの。こちらの方が使いやすいかも。
※プラントも入力すること

参考

コメント

タイトルとURLをコピーしました