04-06-2009 8:45 AM
Hi Experts,
If I want to calculate the Component scrap in percent at all the levels of BOM, in other terms explode the BOM.
What is the way to proceed for it.
Thanks in Advance.
Regards,
IFF
04-06-2009 9:11 AM
Hi IFF,
STPO-AUSCH - Component scrap in percent
to goto STPO here is a Piece of my Own code which works perfectly.
TYPES : BEGIN OF TY_MAST,
MATNR TYPE MAST-MATNR, "Main Material (Parent)
WERKS TYPE MAST-WERKS,
STLAN TYPE MAST-STLAN,
STLNR TYPE MAST-STLNR,
STLAL TYPE MAST-STLAL,
END OF TY_MAST.
TYPES : BEGIN OF TY_STKO,
STLNR TYPE STKO-STLNR,
STLAL TYPE STKO-STLAL,
DATUV TYPE STKO-DATUV,
BMEIN TYPE STKO-BMEIN,
BMENG TYPE STKO-BMENG,
END OF TY_STKO.
TYPES : BEGIN OF TY_STPO,
STLNR TYPE STPO-STLNR,
DATUV TYPE STPO-DATUV,
IDNRK TYPE STPO-IDNRK, "Material Component (Child)
POSNR TYPE STPO-POSNR,
MEINS TYPE STPO-MEINS,
MENGE TYPE STPO-MENGE, "Bom Material Req Qty.
END OF TY_STPO.
TYPES : BEGIN OF TY_MAKT,
MATNR TYPE MAKT-MATNR,
MAKTX TYPE MAKT-MAKTX,
END OF TY_MAKT.
DATA : IT_MAST TYPE TABLE OF TY_MAST, WA_MAST LIKE LINE OF IT_MAST.
DATA : IT_MAKT TYPE TABLE OF TY_MAKT, WA_MAKT LIKE LINE OF IT_MAKT.
DATA : IT_STKO TYPE TABLE OF TY_STKO, WA_STKO LIKE LINE OF IT_STKO.
DATA : IT_STPO TYPE TABLE OF TY_STPO, WA_STPO LIKE LINE OF IT_STPO.
PARAMETERS : P_MATNR TYPE MARA-MATNR,
P_WERKS TYPE MSEG-WERKS.
SELECT MATNR WERKS STLAN STLNR STLAL
FROM MAST INTO TABLE IT_MAST
WHERE MATNR = P_MATNR AND
WERKS = P_WERKS AND
STLAN = '1'.
IF NOT IT_MAST IS INITIAL.
SELECT STLNR STLAL DATUV BMEIN BMENG
FROM STKO INTO TABLE IT_STKO
FOR ALL ENTRIES IN IT_MAST
WHERE STLNR = IT_MAST-STLNR AND
STLAL = IT_MAST-STLAL .
ENDIF.
IF NOT IT_STKO IS INITIAL.
SELECT STLNR DATUV IDNRK POSNR MEINS MENGE
FROM STPO INTO TABLE IT_STPO
FOR ALL ENTRIES IN IT_MAST
WHERE STLNR = IT_MAST-STLNR.
ENDIF.
IF NOT IT_STPO IS INITIAL.
SELECT MATNR MAKTX
FROM MAKT INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_STPO
WHERE MATNR = IT_STPO-IDNRK AND
SPRAS = 'EN'.
ENDIF.
Calculate now...
Thanks & regards,
Dileep .C
04-06-2009 9:11 AM
Hi IFF,
STPO-AUSCH - Component scrap in percent
to goto STPO here is a Piece of my Own code which works perfectly.
TYPES : BEGIN OF TY_MAST,
MATNR TYPE MAST-MATNR, "Main Material (Parent)
WERKS TYPE MAST-WERKS,
STLAN TYPE MAST-STLAN,
STLNR TYPE MAST-STLNR,
STLAL TYPE MAST-STLAL,
END OF TY_MAST.
TYPES : BEGIN OF TY_STKO,
STLNR TYPE STKO-STLNR,
STLAL TYPE STKO-STLAL,
DATUV TYPE STKO-DATUV,
BMEIN TYPE STKO-BMEIN,
BMENG TYPE STKO-BMENG,
END OF TY_STKO.
TYPES : BEGIN OF TY_STPO,
STLNR TYPE STPO-STLNR,
DATUV TYPE STPO-DATUV,
IDNRK TYPE STPO-IDNRK, "Material Component (Child)
POSNR TYPE STPO-POSNR,
MEINS TYPE STPO-MEINS,
MENGE TYPE STPO-MENGE, "Bom Material Req Qty.
END OF TY_STPO.
TYPES : BEGIN OF TY_MAKT,
MATNR TYPE MAKT-MATNR,
MAKTX TYPE MAKT-MAKTX,
END OF TY_MAKT.
DATA : IT_MAST TYPE TABLE OF TY_MAST, WA_MAST LIKE LINE OF IT_MAST.
DATA : IT_MAKT TYPE TABLE OF TY_MAKT, WA_MAKT LIKE LINE OF IT_MAKT.
DATA : IT_STKO TYPE TABLE OF TY_STKO, WA_STKO LIKE LINE OF IT_STKO.
DATA : IT_STPO TYPE TABLE OF TY_STPO, WA_STPO LIKE LINE OF IT_STPO.
PARAMETERS : P_MATNR TYPE MARA-MATNR,
P_WERKS TYPE MSEG-WERKS.
SELECT MATNR WERKS STLAN STLNR STLAL
FROM MAST INTO TABLE IT_MAST
WHERE MATNR = P_MATNR AND
WERKS = P_WERKS AND
STLAN = '1'.
IF NOT IT_MAST IS INITIAL.
SELECT STLNR STLAL DATUV BMEIN BMENG
FROM STKO INTO TABLE IT_STKO
FOR ALL ENTRIES IN IT_MAST
WHERE STLNR = IT_MAST-STLNR AND
STLAL = IT_MAST-STLAL .
ENDIF.
IF NOT IT_STKO IS INITIAL.
SELECT STLNR DATUV IDNRK POSNR MEINS MENGE
FROM STPO INTO TABLE IT_STPO
FOR ALL ENTRIES IN IT_MAST
WHERE STLNR = IT_MAST-STLNR.
ENDIF.
IF NOT IT_STPO IS INITIAL.
SELECT MATNR MAKTX
FROM MAKT INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_STPO
WHERE MATNR = IT_STPO-IDNRK AND
SPRAS = 'EN'.
ENDIF.
Calculate now...
Thanks & regards,
Dileep .C