Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Bill of Materials Loss in Process at all levels possible

Former Member
0 Kudos

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

1 ACCEPTED SOLUTION

Former Member
0 Kudos

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

1 REPLY 1

Former Member
0 Kudos

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