RCPDMCLASSBILLOFMATIMP is a standard ABAP INCLUDE available within your SAP system (depending on your version and release level). Below is the basic information available for this SAP report including which OBJECTS it interacts with such as TABLES, FUNCTION MODULES, INCLUDES ETC. Also check out the submitted Comments related to this SAP report or see any standard documentation available.
If you would like to execute this report or see the full code listing simply enter RCPDMCLASSBILLOFMATIMP into the relevant SAP transactions such as SE38 or SE80
This report can be called from another progam/report simply by using the ABAP SUBMIT statement, see below for example ABAP code snipts of how to do this.
Title: Implementation of ABAP class BILLOFMAT
No INCLUDES are used within this REPORT code!
No SAP DATABASE tables are accessed within this REPORT code!
CS_CI_BOM_READ CALL FUNCTION 'CS_CI_BOM_READ' EXPORTING edatuv = validfrom flg_display = flag_x estlty = flag_m ematnr = materialnumber ewerks = plant estlan = bomusage estlal = alternative IMPORTING abicsk = aux_bicsk TABLES bom_items = aux_bicsp EXCEPTIONS alt_invalid = 01 alt_not_exist = 02 bom_invalid = 03 bom_not_exist = 04 foreign_lock = 05 no_auth = 06 system_failure = 07.
DOKUMENTE_ZU_OBJEKT CALL FUNCTION 'DOKUMENTE_ZU_OBJEKT' EXPORTING key = lcl_objky objekt = stko_doc_dokob
TABLES doktab = doc_tab
EXCEPTIONS kein_dokument = 01.
CA_BUILD_OBJECT_KEYFIELDSTRING CALL FUNCTION 'CA_BUILD_OBJECT_KEYFIELDSTRING' EXPORTING object_type = billofmat_objtp
IMPORTING objkey = aux_objkey
TABLES object_type_keyfield_values = obj_inst_key
EXCEPTIONS invalid_object_type_key_fields = 01 object_type_not_existent = 02.
SO_OBJECT_REFERENCES_IN_OFO CALL FUNCTION 'SO_OBJECT_REFERENCES_IN_OFO' EXPORTING object = aux_swotobjid owner = syst-uname
TABLES object_folder = aux_sood4.
CA_BUILD_OBJECT_KEYFIELDSTRING CALL FUNCTION 'CA_BUILD_OBJECT_KEYFIELDSTRING' EXPORTING object_type = billofmat_swotp
IMPORTING objkey = aux_objkey
TABLES object_type_keyfield_values = obj_inst_key
EXCEPTIONS invalid_object_type_key_fields = 01 object_type_not_existent = 02.
CA_BUILD_OBJECT_KEYFIELDSTRING CALL FUNCTION 'CA_BUILD_OBJECT_KEYFIELDSTRING' EXPORTING object_type = billofmat_swotp
IMPORTING objkey = aux_objkey
TABLES object_type_keyfield_values = obj_inst_key
EXCEPTIONS invalid_object_type_key_fields = 01 object_type_not_existent = 02.
SD_VBAP_SELECT CALL FUNCTION 'SD_VBAP_SELECT' EXPORTING i_document_number = ordernumber i_item_number = orderitem
IMPORTING e_vbap = aux_vbap
EXCEPTIONS item_not_found = 01.
SAPGUI_PROGRESS_INDICATOR CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING text = runstring.
CS_SO_ORGANIZE_REFRESH CALL FUNCTION 'CS_SO_ORGANIZE_REFRESH' EXPORTING i_force_refresh = cross
IMPORTING e_refresh = ls_expl_set-hold_stb.
CS_SO_MODE_BOM_EXPLOSION CALL FUNCTION 'CS_SO_MODE_BOM_EXPLOSION' EXPORTING is_rc29b1 = ls_expl_set i_frag_mode_dark = aux_dark
IMPORTING e_frag_idnrk = l_frag_idnrk
TABLES et_res_stpox = aux_stb_tab et_cscmat = aux_matcat
CHANGING es_topmat = aux_cstmat e_subrc = aux_subrc
EXCEPTIONS error_in_frag_mode = 01.
SAPGUI_PROGRESS_INDICATOR CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING text = runstring.
SAPGUI_PROGRESS_INDICATOR CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING text = runstring.
SAPGUI_PROGRESS_INDICATOR * CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' * EXPORTING * text = runstring.
CS_SO_ORGANIZE_REFRESH CALL FUNCTION 'CS_SO_ORGANIZE_REFRESH' EXPORTING i_force_refresh = cross IMPORTING e_refresh = ls_expl_set-hold_stb.
CS_SO_MODE_BOM_EXPLOSION * CALL FUNCTION 'CS_SO_MODE_BOM_EXPLOSION' * EXPORTING * is_rc29b1 = ls_expl_set * i_frag_mode_dark = aux_dark * TABLES * et_delta_stpox = aux_stb_tab * et_cscmat = aux_matcat * CHANGING * es_topmat = aux_cstmat * e_subrc = aux_subrc * EXCEPTIONS * OTHERS = 1.
SAPGUI_PROGRESS_INDICATOR * CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' * EXPORTING * text = runstring.
SAPGUI_PROGRESS_INDICATOR CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING text = runstring.
SAPGUI_PROGRESS_INDICATOR CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING text = runstring.
CALL FUNCTION 'CS_SO_ORGANIZE_REFRESH' EXPORTING i_force_refresh = cross
IMPORTING e_refresh = ls_expl_set-hold_stb.
CS_SO_MODE_BOM_EXPLOSION CALL FUNCTION 'CS_SO_MODE_BOM_EXPLOSION' EXPORTING is_rc29b1 = ls_expl_set i_frag_mode_dark = aux_dark
IMPORTING e_frag_idnrk = l_frag_idnrk
TABLES et_res_stpox = aux_stb_tab et_cscmat = aux_matcat
CHANGING es_topmat = aux_cstmat e_subrc = aux_subrc
EXCEPTIONS error_in_frag_mode = 01.
SAPGUI_PROGRESS_INDICATOR CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING text = runstring.
SAPGUI_PROGRESS_INDICATOR CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING text = runstring.
C_PDM_BOM_GET_ITEM_STUFE_WEGXX CALL FUNCTION 'C_PDM_BOM_GET_ITEM_STUFE_WEGXX' EXPORTING OBJECT_HANDLE = f_objhd IMPORTING STUFE = aux_stufe WEGXX = aux_wegxx.
SAPGUI_PROGRESS_INDICATOR CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING text = runstring.
CS_SO_ORGANIZE_REFRESH CALL FUNCTION 'CS_SO_ORGANIZE_REFRESH' EXPORTING i_force_refresh = cross
IMPORTING e_refresh = ls_expl_set-hold_stb.
CS_SO_MODE_BOM_EXPLOSION CALL FUNCTION 'CS_SO_MODE_BOM_EXPLOSION' EXPORTING is_rc29b1 = ls_expl_set i_frag_mode_dark = aux_dark
IMPORTING e_frag_idnrk = l_frag_idnrk
TABLES et_res_stpox = aux_stb_tab et_cscmat = aux_matcat
CHANGING es_topmat = aux_cstmat e_subrc = aux_subrc
EXCEPTIONS error_in_frag_mode = 01.
SAPGUI_PROGRESS_INDICATOR CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING text = runstring.
SAPGUI_PROGRESS_INDICATOR CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING text = runstring.
AUTHORITY_CHECK_TCODE CALL FUNCTION 'AUTHORITY_CHECK_TCODE' EXPORTING tcode = tcode_cs02
EXCEPTIONS ok = 00 not_ok = 01.
ENQUEUE_ECMASTE CALL FUNCTION 'ENQUEUE_ECMASTE' EXPORTING mode_mast = 'E' mandt = sy-mandt matnr = aux_csin-matnr werks = aux_csin-werks stlan = aux_csin-stlan stlal = aux_csin-stlal x_werks = cross "note497832 EXCEPTIONS foreign_lock = 1 system_failure = 2 OTHERS = 3.
DEQUEUE_ALL CALL FUNCTION 'DEQUEUE_ALL'.
CS_SO_LINK_OBJ_BROWSER_CNT CALL FUNCTION 'CS_SO_LINK_OBJ_BROWSER_CNT' EXPORTING i_link_repid = lc_repid_csdi i_link_dynnr = lc_dynnr_2150 EXCEPTIONS err_link_env_wrong = 1 err_link_problems = 2 OTHERS = 3.
CS_SO_ACTIONS_ON_DOCKING CALL FUNCTION 'CS_SO_ACTIONS_ON_DOCKING' "set EXPORTING i_warning = cross i_set_common_lock = cross IMPORTING e_browser_locked = aux_browser_lock EXCEPTIONS err_failed = 1 OTHERS = 2.
CS_DI_INIT CALL FUNCTION 'CS_DI_INIT'.
CS_BOM_CALL_DIALOG_RFC CALL FUNCTION 'CS_BOM_CALL_DIALOG_RFC' EXPORTING bom_header = aux_bom_h ecsin = aux_csin TABLES item = aux_bom_item EXCEPTIONS cmode_error = 1.
DEQUEUE_ALL CALL FUNCTION 'DEQUEUE_ALL'.
CS_SO_ACTIONS_ON_DOCKING CALL FUNCTION 'CS_SO_ACTIONS_ON_DOCKING' EXPORTING i_reset_lock = cross.
CS_SO_LINK_OBJ_BROWSER_CNT CALL FUNCTION 'CS_SO_LINK_OBJ_BROWSER_CNT' EXPORTING i_link_repid = lc_repid_csso i_link_dynnr = lc_dynnr_0305 EXCEPTIONS err_link_env_wrong = 1 err_link_problems = 2 OTHERS = 3.
AUTHORITY_CHECK_TCODE CALL FUNCTION 'AUTHORITY_CHECK_TCODE' EXPORTING tcode = tcode
EXCEPTIONS ok = 00 not_ok = 01.
CS_SO_LINK_OBJ_BROWSER_CNT CALL FUNCTION 'CS_SO_LINK_OBJ_BROWSER_CNT' EXPORTING i_link_repid = lc_repid_csdi i_link_dynnr = lc_dynnr_2150
EXCEPTIONS err_link_env_wrong = 01 err_link_problems = 02.
CS_SO_ACTIONS_ON_DOCKING CALL FUNCTION 'CS_SO_ACTIONS_ON_DOCKING' EXPORTING i_set_common_lock = cross
IMPORTING e_browser_locked = aux_browser_lock
EXCEPTIONS err_failed = 01.
CS_DI_INIT CALL FUNCTION 'CS_DI_INIT'.
CS_BOM_CALL_DIALOG CALL FUNCTION 'CS_BOM_CALL_DIALOG' EXPORTING ecsin = aux_csin
EXCEPTIONS cmode_error = 01.
CS_SO_ACTIONS_ON_DOCKING CALL FUNCTION 'CS_SO_ACTIONS_ON_DOCKING' EXPORTING i_reset_lock = cross.
CS_SO_LINK_OBJ_BROWSER_CNT CALL FUNCTION 'CS_SO_LINK_OBJ_BROWSER_CNT' EXPORTING i_link_repid = lc_repid_csso i_link_dynnr = lc_dynnr_0305
EXCEPTIONS err_link_env_wrong = 01 err_link_problems = 02.
AUTHORITY_CHECK_TCODE CALL FUNCTION 'AUTHORITY_CHECK_TCODE' EXPORTING tcode = tcode
EXCEPTIONS ok = 00 not_ok = 01.
AUTHORITY_CHECK_TCODE CALL FUNCTION 'AUTHORITY_CHECK_TCODE' EXPORTING tcode = tcode
EXCEPTIONS ok = 00 not_ok = 01.
CS_SO_ACTIONS_ON_DOCKING CALL FUNCTION 'CS_SO_ACTIONS_ON_DOCKING' EXPORTING i_set_common_lock = cross
IMPORTING e_browser_locked = aux_browser_lock
EXCEPTIONS err_failed = 01.
CS_SO_LINK_OBJ_BROWSER_CNT CALL FUNCTION 'CS_SO_LINK_OBJ_BROWSER_CNT' EXPORTING i_link_repid = lc_repid_cn10 i_link_dynnr = lc_dynnr_1000
EXCEPTIONS err_link_env_wrong = 01 err_link_problems = 02.
CN10_EXTERNAL_CALL CALL FUNCTION 'CN10_EXTERNAL_CALL' EXPORTING i_rcnbom = aux_rcnbom.
CS_SO_ACTIONS_ON_DOCKING CALL FUNCTION 'CS_SO_ACTIONS_ON_DOCKING' EXPORTING i_reset_lock = cross.
CS_SO_LINK_OBJ_BROWSER_CNT CALL FUNCTION 'CS_SO_LINK_OBJ_BROWSER_CNT' EXPORTING i_link_repid = lc_repid_csso i_link_dynnr = lc_dynnr_0305 EXCEPTIONS err_link_env_wrong = 01
err_link_problems = 02.
CS_SO_FIX_ASSEMBLY CALL FUNCTION 'CS_SO_FIX_ASSEMBLY' EXPORTING i_vbeln = ordernumber i_vbpos = orderitem i_pspnr = wbselement i_multi_level = l_mehrs i_datum = validfrom i_stlal = ass_mat->stlal i_stlnr = ass_mat->stlnr i_matnr = ass_mat->materialnumber i_stlan = ass_mat->bomusage * i_werks = ass_mat->plant i_werks = topplant i_capid = ass_mat->application1 i_cuobj = ass_mat->cuobj1 * i_matnr_top = l_vbap-matnr i_matnr_top = topmat i_stufe = stufe i_wegxx = wegxx i_res_stlty = res_obj
EXCEPTIONS wrong_input = 1 problems_with_bom_read = 3 problems_with_bom_write = 4 structure_has_changed = 8 user_cancled = 5 bom_is_locked = 2.
CS_SO_DEL_ASSEMBLY CALL FUNCTION 'CS_SO_DEL_ASSEMBLY' EXPORTING i_vbeln = ordernumber i_vbpos = orderitem i_pspnr = wbselement i_multi_level = l_mehrs i_datum = validfrom i_stlal = ass_mat->stlal i_stlnr = ass_mat->stlnr i_matnr = ass_mat->materialnumber i_stlan = ass_mat->bomusage * i_werks = ass_mat->plant i_werks = topplant i_capid = ass_mat->application1 i_cuobj = ass_mat->cuobj1 * i_matnr_top = l_vbap-matnr i_matnr_top = topmat i_stufe = stufe i_wegxx = wegxx i_del_stlty = res_obj
EXCEPTIONS wrong_input = 1 problems_with_bom_read = 3 problems_with_bom_delete = 11 structure_has_changed = 8 user_cancled = 5 bom_is_locked = 2.
SD_VBAP_SELECT * CALL FUNCTION 'SD_VBAP_SELECT' * EXPORTING * i_document_number = ordernumber * i_item_number = orderitem * IMPORTING * e_vbap = l_vbap * EXCEPTIONS * item_not_found = 1 * OTHERS = 2.
CS_SO_COPY_MATERIAL CALL FUNCTION 'CS_SO_COPY_MATERIAL' EXPORTING i_stufe = stufe i_wegxx = wegxx i_matnr = ass_mat->materialnumber i_werks = ass_mat->plant i_capid = ass_mat->application1 i_vbeln = ordernumber i_vbpos = orderitem i_pspnr = wbselement i_datum = validfrom i_matnr_top = topmat i_werks_top = topwerks i_cuobj = ass_mat->cuobj1 i_cus_mode = cus_mode i_prj_mode = prj_mode EXCEPTIONS no_copy_of_root_material = 6 problems_with_bom_read = 3 structure_has_changed = 8 problems_with_material_create = 9 parent_not_order_bom = 10 problems_with_bom_write = 4.
GET_MAST_AOV CALL FUNCTION 'GET_MAST_AOV' EXPORTING no_buffer = cross
TABLES mastb_tab = aux_mastb_tab
CHANGING wa_mastb_tab = aux_mastb_wa
EXCEPTIONS call_invalid = 01 end_of_table = 02 key_incomplete = 03 key_invalid = 04 no_record_found = 05.
CS_ALT_SELECT_MAT CALL FUNCTION 'CS_ALT_SELECT_MAT' EXPORTING all = cross datuv = validfrom matnr = materialnumber werks = plant capid = application stlan = bomusage stlal = alternative
TABLES mastb_wa = aux_mastb_tab stkob_wa = aux_stkob_tab stzub_wa = aux_stzub_tab
EXCEPTIONS alt_not_found = 01 bom_not_active = 02 bom_not_found = 03 call_invalid = 04 no_alt_found = 05 no_bom_found = 06.
C_PDM_APPLY_FILTER_TO_OBJECT CALL FUNCTION 'C_PDM_APPLY_FILTER_TO_OBJECT' EXPORTING object_type = billofmat billofmat_data = aux_billofmat_data check_form = filter_billofmat_form check_program = filter_billofmat_program validfrom = validfrom
IMPORTING check_ok = check_ok.
CS_SO_GET_ROOT_CONFIG CALL FUNCTION 'CS_SO_GET_ROOT_CONFIG' "note459376 EXPORTING I_ROOTCOMP = materialnumber "note459376 "note459376 IMPORTING E_ROOT_CUOBJ = cuobj1 "note459376 "note459376 EXCEPTIONS OTHERS = 2. "note459376
CUCB_GET_STATUS_OF_INSTANCE CALL FUNCTION 'CUCB_GET_STATUS_OF_INSTANCE' EXPORTING i_instance = cuobj1 "note459376 EXCEPTIONS free = 01 incomplete = 02 locked = 03 invalid_instance = 04.
Although this basic information may have limited use it does provide an easy to find location to store any knowledge about this program/report.
The contribute/comments section below therefore offer's an opportunity for anyone to add additional information. This can be anything from useful hints, tips and screen shots to relevant SAP notes or anything else you feel is relevant to this report.
This will then be available for everyone to easily find by simply searching on the report name RCPDMCLASSBILLOFMATIMP or its description.
RCPDMCLASSBILLOFMATIMP - Implementation of ABAP class BILLOFMAT RCPDMCLASSBILLOFMATDEF - Definition of ABAP class BILLOFMAT RCPDMCLASSBILLOFFLCIMP - Implementation of ABAP class BILLOFFLC RCPDMCLASSBILLOFFLCDEF - Definition of ABAP class BILLOFFLC RCPDMCLASSBILLOFEQIIMP - Implementation of ABAP class BILLOFEQI RCPDMCLASSBILLOFEQIDEF - Definition of ABAP class BILLOFEQI