2018.06.02 See the code that was sent in the group. Copy down, modify the next ~~~~~~
Reportytest_vl02n.TYPES: BEGIN ofTy_out, MatnrTYPEmara-Matnr, MaktxTYPEmakt-MAKTX, Maktx_zTYPEmakt-MAKTX, PosnrTYPEresb-Rspos, IdnrkTYPEmara-Matnr, MeinsTYPEMeins, MengeTYPEmenge_d, AufnrTYPEafko-Aufnr, LgortTYPEmarc-Lgpro,TEXT TYPECHAR100,END ofTy_out. DATALt_dataTYPEStandardTABLE ofTy_out with HEADER Line . Lt_data-MATNR ='000000000089006103'. Lt_data-IDNRK ='000000000029005001'. Lt_data-posnr ='0010' . Lt_data-meins ='KG'. Lt_data-menge ='6000' . Lt_data-AUFNR ='000010003033'. Lt_data-lgort ='1501' . APPENDLt_data. DATAL_msgTYPE STRING. DATA: L_number likebapi_network_list-NETWORK, RETURN likeBAPIRET2, Li_components_change like TABLE ofBapi_network_comp_change, Lw_components_change likeBapi_network_comp_change, Li_components_change_update like TABLE ofbapi_network_comp_cng_upd, Lw_components_change_update likebapi_network_comp_cng_upd, E_message_table like TABLE ofBapi_meth_message, W_message_table likeBapi_meth_message. DATA: Li_components_detail like TABLE ofBapi_network_comp_detail. DATA: Lw_components_detail likeBapi_network_comp_detail. LOOP atLt_data. SELECT SingleMaktx intoLt_data-maktx fromMaktWHEREMATNR = lt_data-Matnr. SELECT SingleMaktx intoLt_data-maktx_z fromMaktWHEREMATNR = lt_data-IDNRK. CLEAR: li_components_detail,li_components_detail[],li_components_change,li_components_change[], LI_COMPONENTS_ Change_update,li_components_change_update[],e_message_table,e_message_table[]. Pager FUNCTION 'Bapi_network_comp_getdetail' Exporting Number= lt_data-AUFNRTABLESE_components_detail=Li_components_detail. LOOP atLi_components_detail intoLw_components_detailWHEREItem_Number = Lt_data-posnr andMATERIAL = lt_data-IDNRK. Lw_components_change-COMPONENT= lw_components_detail-COMPONENT. Lw_components_change-entry_quantity = lt_data-Menge.*Lw_components_change-base_uom = lt_data-meins. Pager FUNCTION 'Conversion_exit_cunit_input' ExportingINPUT= lt_data-MeinsImporting OUTPUT= lw_components_change-Base_uom. Lw_components_change-stge_loc = lt_data-Lgort. APPENDLw_components_change toLi_components_change. Lw_components_change_update-COMPONENT= lw_components_detail-COMPONENT. IFLt_data-menge is not INITIAL . Lw_components_change_update-entry_quantity ='X'. ENDIF . IFLt_data-meins is not INITIAL . Lw_components_change_update-base_uom ='X'. ENDIF . IFLt_data-lgort is not INITIAL . Lw_components_change_update-stge_loc ='X'. ENDIF . APPENDLw_components_change_update toli_components_change_update. Pager FUNCTION 'Bapi_network_comp_change' Exporting Number= lt_data-AUFNRImportingRETURN=RETURNTABLESI_components_change=Li_components_change i_components_change_update=li_components_change_update e_message_table=e_message_table. LOOP atE_message_table intoW_message_tableWHEREMessage_type ='E'. concatenateLt_data-aufnr'-'Lt_data-matnr'-'Lt_data-idnrk'BOM component Change failed! 'w_message_table-Message_text intolt_data-TEXT.*Lt_data-zicon = ' @[email protected] '. MODIFYLt_data. Endloop . IFE_message_table[] is INITIAL . Pager FUNCTION 'Bapi_transaction_commit' Exporting WAIT='X'. Lt_data-TEXT='The change was successful! '.*Lt_data-zicon = ' @[email protected] '. MODIFYLt_data. ENDIF . CLEARLw_components_change. CLEARlw_components_change_update. CLEARe_message_table. CLEARe_message_table[]. Endloop. IFSY-SUBRC <>0 . concatenateLt_data-aufnr'-'Lt_data-matnr'-'Lt_data-idnrk'BOM component Change failed! ' 'Cause: The component was not found in the BOM list! ' intolt_data-TEXT.*Lt_data-zicon = ' @[email protected] '. MODIFYLt_data. ENDIF . Endloop.
Work Order Component Change BAPI