*&---------------------------------------------------------------------*
*&最上位BOM取得 (品目、プラントごと)
*&---------------------------------------------------------------------*
REPORT ZZZHAOTEST001.
*----- 対象品目
TYPES: BEGIN OF ITAB ,
MATNR TYPE KEKO-MATNR, "品目コード
WERKS TYPE KEKO-WERKS, "プラント
END OF ITAB.
*----- 対象品目の親品目
TYPES: BEGIN OF TEPTAB ,
MATNR TYPE KEKO-MATNR, "品目コード
WERKS TYPE KEKO-WERKS, "プラント
END OF TEPTAB.
*----- 最上位品目
TYPES: BEGIN OF TOPBOM ,
MATNR TYPE KEKO-MATNR, "品目コード
WERKS TYPE KEKO-WERKS, "プラント
END OF TOPBOM.
DATA:
*----- 対象品目
TD_ITAB TYPE STANDARD TABLE OF ITAB,
ST_ITAB TYPE ITAB,
*----- 最上位品目
TD_TOPBOM TYPE STANDARD TABLE OF TOPBOM,
ST_TOPBOM TYPE TOPBOM.
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME.
SELECTION-SCREEN : COMMENT 1(60) TEXT-001,
SKIP.
PARAMETERS : MATNR LIKE MARC-MATNR OBLIGATORY,
WERKS LIKE MARC-WERKS OBLIGATORY DEFAULT '1101'.
SELECT-OPTIONS : BDATE FOR SY-DATUM DEFAULT SY-DATUM TO SY-DATUM
NO-EXTENSION OBLIGATORY.
SELECTION-SCREEN END OF BLOCK BLK1.
START-OF-SELECTION.
ST_ITAB-MATNR = MATNR.
ST_ITAB-WERKS = 1.
APPEND ST_ITAB TO TD_ITAB.
CLEAR ST_ITAB.
PERFORM GET_TOPBOM.
*&---------------------------------------------------------------------*
*& FORM GET_TOPBOM
*&---------------------------------------------------------------------*
FORM GET_TOPBOM.
*----- DATA定義(汎用モジュール関連 )
DATA:
LST_WULTB TYPE STPOV,
LTD_WULTB TYPE STANDARD TABLE OF STPOV,
LTD_EQUICAT TYPE STANDARD TABLE OF CSCEQUI,
LTD_KNDCAT TYPE STANDARD TABLE OF CSCKND,
LTD_MATCAT TYPE STANDARD TABLE OF CSCMAT,
LTD_STDCAT TYPE STANDARD TABLE OF CSCSTD,
LTD_TPLCAT TYPE STANDARD TABLE OF CSCTPL.
DATA:
*----- 対象品目の親品目
LTD_TEPTAB TYPE STANDARD TABLE OF TEPTAB,
LST_TEPTAB TYPE TEPTAB.
*----- DATA定義(カウンタ)
DATA:
LCTR_LIN(5) TYPE N,
LCTR_LINE_CNT(5) TYPE N.
DESCRIBE TABLE TD_ITAB LINES LCTR_LIN.
IF LCTR_LIN = 0.
EXIT.
ENDIF.
LOOP AT TD_ITAB INTO ST_ITAB.
CALL FUNCTION 'CS_WHERE_USED_MAT'
EXPORTING
DATUB = BDATE-HIGH
DATUV = BDATE-LOW
MATNR = ST_ITAB-MATNR
WERKS = ST_ITAB-WERKS
TABLES
WULTB = LTD_WULTB
EQUICAT = LTD_EQUICAT
KNDCAT = LTD_KNDCAT
MATCAT = LTD_MATCAT
STDCAT = LTD_STDCAT
TPLCAT = LTD_TPLCAT
EXCEPTIONS
CALL_INVALID = 1
MATERIAL_NOT_FOUND = 2
NO_WHERE_USED_REC_FOUND = 3
NO_WHERE_USED_REC_SELECTED = 4
NO_WHERE_USED_REC_VALID = 5
OTHERS = 6.
IF SY-SUBRC <> 0.
ENDIF.
DESCRIBE TABLE LTD_WULTB LINES LCTR_LINE_CNT.
IF LCTR_LINE_CNT = 0.
ST_TOPBOM-MATNR = ST_ITAB-MATNR .
ST_TOPBOM-WERKS = ST_ITAB-WERKS.
APPEND ST_TOPBOM TO TD_TOPBOM.
CLEAR ST_TOPBOM.
ELSE.
LOOP AT LTD_WULTB[] INTO LST_WULTB.
LST_TEPTAB-MATNR = LST_WULTB-MATNR.
LST_TEPTAB-WERKS = LST_WULTB-WERKS.
APPEND LST_TEPTAB TO LTD_TEPTAB.
CLEAR LST_TEPTAB.
ENDLOOP.
ENDIF.
REFRESH : LTD_WULTB,LTD_EQUICAT,LTD_KNDCAT,LTD_MATCAT,LTD_STDCAT,LTD_TPLCAT.
ENDLOOP.
REFRESH TD_ITAB.
TD_ITAB[] = LTD_TEPTAB[].
PERFORM GET_TOPBOM.
ENDFORM. " GET_TOPBOM
2 comments:
Related Site click for more info Continue Dolabuy YSL these details Louis Vuitton Dolabuy
find best replica bags online their website more info here Read More Here read the article
Post a Comment