method if_ex_crm_dataexchg_badi~crm_dataexch_after_bapi_fill. field-symbols: type bapiparnr3, type bapisditm. data: lv_partner_guid type bu_partner_guid, lv_partner type bu_partner, lv_vendno type crmt_bu_map_vendor_number, lv_locno type crmt_locno, lv_werks type werks_d. ** make sure plant info is not return to ERP as a Partner read table ct_bapiparnr3 assigning with key partn_role = 'ZP' itm_number = '000000'. if sy-subrc = 0. lv_partner_guid = -partn_guid. select single partner into lv_partner from but000 where partner_guid = lv_partner_guid. if sy-subrc = 0. select single ext_locno into lv_locno from crmm_locmap where partner_no = lv_partner. if sy-subrc = 0. lv_werks = lv_locno. loop at ct_bapisditm assigning . -plant = lv_werks. endloop. endif. endif. endif. delete ct_bapiparnr3 where partn_role = 'ZP'. loop at ct_bapiparnr3 assigning where partn_role = 'SP' or partn_role = 'ZC'. lv_partner_guid = -partn_guid. select single vendor_no into lv_vendno from crmm_but_vendno where partner_guid = lv_partner_guid. if sy-subrc = 0. -partn_numb = lv_vendno. clear -partn_guid. endif. endloop. endmethod. method if_ex_crm_dataexchg_badi~crm_dataexch_r3d_mbdoc_fill. field-symbols: type bad_orderadm_h_mess, type bad_partner_mess, type x, type x. data: ls_bapimtcs type bapimtcs, ls_sdpart type bapisdpart, lv_partner_guid type bu_partner_guid, lv_partner type bu_partner, lv_objkey type crmobjkey, lv_relkey type crmrelkey. loop at ct_bus_trans_msg-orderadm_h assigning . loop at ct_bus_trans_msg-partner assigning where orderadm_h_guid = -orderadm_h_guid and ( partner_fct = 'ZR' or partner_fct = 'ZC' ). lv_objkey = -object_id. case -partner_fct. when 'ZC'. concatenate lv_objkey '000000ZC' into lv_relkey. when 'ZR'. concatenate lv_objkey '000000SP' into lv_relkey. endcase. read table ti_bapimtcs into ls_bapimtcs with key tabname = 'BAPISDPART' objkey = lv_objkey relkey = lv_relkey. if sy-subrc = 0. assign ls_bapimtcs-data to casting. assign ls_sdpart to casting. if is assigned and is assigned. = . select single partner_guid into lv_partner_guid from crmm_but_vendno where vendor_no = ls_sdpart-vendor_no. if sy-subrc = 0. select single partner into lv_partner from but000 where partner_guid = lv_partner_guid. -bp_partner_guid = lv_partner_guid. -partner_no = lv_partner. -DISPLAY_TYPE = 'BP'. -no_type = 'BP'. endif. endif. endif. endloop. endloop. endmethod.