Documente Academic
Documente Profesional
Documente Cultură
* *Screen elements................................
selection-screen begin of block b1 with frame title text-001.
parameters:
p_matnr type mast-matnr default '' obligatory," Material Number
p_werks type mast-werks default '' obligatory, " Plant
p_stlan type mast-stlan default '1', "obligatory, " Alternative BOM
p_capid type rc29l-capid default 'PP01', "obligatory. " Application
p_stlal type mast-stlal default ' '. "obligatory, " Alternative BOM
selection-screen end of block b1.
START-OF-SELECTION.
perform bom_header.
perform Bom_child.
PERFORM Build_catalog.
perform display_output.
*&---------------------------------------------------------------------*
*& Form BOM_HEADER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM BOM_HEADER .
*BREAK-POINT.
select matnr werks stlaN stLnr stlal from mast
INto CORRESPONDING FIELDS OF TABLE it_tab
where matnr = p_matnr and
werks = p_werks and
stlAn = p_stlAn and
stlal = p_stlal.""Chengal
clear wa_tab.
loop at it_tab INTO wa_tab.
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
CAPID = 'PP01'
DATUV = SY-DATUM
MKTLS = 'X'
MTNRV = wa_tab-matnr
STLAL = wa_tab-stlal
STLAN = wa_tab-stlan
STPST = 0
SVWVO = 'X'
WERKS = WA_TAB-WERKS
TABLES
STB = IT_STB
* MATCAT = IT_matcat
EXCEPTIONS
ALT_NOT_FOUND = 1
CALL_INVALID = 2
MATERIAL_NOT_FOUND = 3
MISSING_AUTHORIZATION = 4
NO_BOM_FOUND = 5
NO_PLANT_DATA = 6
NO_SUITABLE_BOM_FOUND = 7
CONVERSION_ERROR = 8
OTHERS = 9
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
clear: wa_stb1 , wa_stb.
loop at it_stb INTO wa_stb.
wa_stb1-matnr = wa_tab-matnr.
wa_stb1-ojtxb = WA_STB-OJTXB.
wa_stb1-mtart = wa_stb-mtart.
wa_stb1-mnglg = wa_stb-mnglg.
wa_stb1-meins = wa_stb-meins.
wa_stb1-idnrk = wa_stb-idnrk.
wa_stb1-ojtxp = wa_stb-ojtxp.
wa_stb1-stlal = wa_stb-stlal. """
APPEND wa_stb1 to it_stb1.
ENDLOOP.
ENDLOOP.
ENDFORM. " BOM_HEADER
*&---------------------------------------------------------------------*
*& Form BOM_CHILD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM BOM_CHILD .
clear fs_stb1.
if IT_STB1 is not initial.
loop at IT_STB1 into fs_stb1.
if sy-subrc = 0.
wa_final-matnr = fs_stb1-matnr.
wa_final-ojtxb = FS_STB1-OJTXB.
wa_final-mtart = fs_stb1-mtart.
wa_final-mnglg = fs_stb1-mnglg.
wa_final-meins = fs_stb1-meins.
wa_final-idnrk = fs_stb1-idnrk.
wa_final-ojtxp = fs_stb1-ojtxp.
wa_final-stlal = fs_stb1-stlal. """
append wa_final to it_final.
ENDIF.
endloop.
ENDIF.
clear wa_final.
loop at it_final INTO wa_final.
PERFORM RECURSIVE_BOM .
endloop.
ENDFORM. " BOM_CHILD
FORM RECURSIVE_BOM .
wa_final-idnrk = fs_stb1-idnrk.
wa_final-ojtxp = fs_stb1-ojtxp.
wa_final-stlal = fs_stb1-stlal."
append wa_final to it_final.
ENDIF.
endloop.
ENDLOOP.
ENDFORM. " RECURSIVE_BOM
*&---------------------------------------------------------------------*
*& Form BUILD_CATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM BUILD_CATALOG .
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_m = 'FG/ Parant'.
fieldcatalog-col_pos = 0.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'OJTXB'.
fieldcatalog-seltext_m = 'FG/ Parant Desc'.
fieldcatalog-col_pos = 1.
fieldcatalog-outputlen = 40.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'IDNRK'.
fieldcatalog-seltext_m = 'Child'.
fieldcatalog-col_pos = 2.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'OJTXP'.
fieldcatalog-seltext_m = 'Child Desc'.
fieldcatalog-col_pos = 3.
fieldcatalog-outputlen = 40.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'MTART'.
fieldcatalog-seltext_m = 'Material Type'.
fieldcatalog-col_pos = 4.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'MNGLG'.
fieldcatalog-seltext_m = 'Quantity Required'.
fieldcatalog-col_pos = 5.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'MEINS'.
fieldcatalog-seltext_m = 'Unit Of Measure'.
fieldcatalog-col_pos = 6.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
""
fieldcatalog-fieldname = 'STLAL'.
fieldcatalog-seltext_m = 'Alternate BOM '.
fieldcatalog-col_pos = 7.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
""
ENDFORM. " BUILD_CATALOG
*&---------------------------------------------------------------------*