In this blog post auto creation of sales order in SAP ECC for third party e-commerce portals, which has been tagged as combi products.
All the E-commerce sales to be captured using flat files, Industry doesn’t want to have sales bom for combo products.
Reading Flat files downloaded from e-comm site to be read and stored in internal table, all the Customer Material code (ASIN/FSN code) are maintained in Customer Info Record for respective material, the shipping charges and trade discount for both Combi Material and FG material are calculated using BAPI_SALESORDER_SIMULATE and for sales order creation using BAPI_SALESORDER_CREATEFROMDAT2.
Once all customer material Code in customer info for material has been maintained.
To handle this there are two different ways one is creating a production order for combi product and bringing final combo’s to Sales order –> OBD –> PGI –> Invoice –> Accounting entry post.
As per requirement this option has been selected by business people stating that exploring the BOM of combos and creating a sales order based on BOM.
Since all e-comm sales being captured to an one time customer, customer number has been given in selection screen.
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2' EXPORTING capid = 'XXXX' datuv = sy-datum mktls = 'X' mehrs = 'X' mmory = '1' mtnrv = wa_knmt-matnr werks = 'XXXX' TABLES stb = it_mast 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 OTHERS = 8. Simulation : CALL FUNCTION 'BAPI_SALESORDER_SIMULATE' EXPORTING order_header_in = order_header_in_s IMPORTING salesdocument = salesdocument_s return = return_s TABLES order_items_in = order_items_in_s order_partners = order_partners_s order_schedule_in = order_schedule_in_s order_items_out = order_items_out_s order_schedule_ex = order_schedule_ex_s order_condition_ex = order_condition_ex_s.
before the simulation physical inventory check is enabled through a submit program.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2' EXPORTING * SALESDOCUMENTIN = order_header_in = order_header_in order_header_inx = wa_header_chk * SENDER = * BINARY_RELATIONSHIPTYPE = * INT_NUMBER_ASSIGNMENT = * BEHAVE_WHEN_ERROR = * LOGIC_SWITCH = * testrun = 'X' convert = 'X' IMPORTING salesdocument = salesdocument TABLES return = return order_items_in = order_items_in order_items_inx = it_item_chk order_partners = order_partners order_schedules_in = order_schedules_in order_schedules_inx = it_sch_chk order_conditions_in = order_bapicond * ORDER_CONDITIONS_INX = * ORDER_CFGS_REF = * ORDER_CFGS_INST = * ORDER_CFGS_PART_OF = * ORDER_CFGS_VALUE = * ORDER_CFGS_BLOB = * ORDER_CFGS_VK = * ORDER_CFGS_REFINST = * ORDER_CCARD = * ORDER_TEXT = * order_keys = order_keys * EXTENSIONIN = * PARTNERADDRESSES =
By this integration time taken for end user to punch records came down and made the system error free.