Question:
Hi ,
I would like to create a sales order for configurable material with BAPI.
But I don't get how assign the characteristics.
How must I pass the parameters for this ?
Has someboy an example ?
Thanks in advance.
Answer:
HI ,
I also need the same information. I am new to BAPI and have to use it for uploading open sales order.ANy help is appreciated.
Neelam
Answer:
Finally, I think I get it.
I send you the coding that I have used, hoping I can help you.
*&---------------------------------------------------------------------*
*& Report ZZMLS001 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ZZMLS001 .
data: i_order_header_in like BAPISDHD1,
i_order_header_inx like BAPISDH1X,
i_order_partners like BAPIPARNR occurs 0 with header line,
i_order_items_in like BAPISDITM occurs 0 with header line,
i_order_items_inx like BAPISDITMX occurs 0 with header line,
i_order_schedules_in like BAPISCHDL occurs 0 with header line,
i_order_cfgs_ref like BAPICUCFG occurs 0 with header line,
i_order_cfgs_inst like BAPICUINS occurs 0 with header line,
i_order_cfgs_value like BAPICUVAL occurs 0 with header line,
i_return like BAPIRET2 occurs 0.
data: e_vbeln like bapivbeln.
data: e_vbak like vbak,
e_bapisdhd like bapisdhd.
* Clase de documento.
e_vbak-auart = 'ZSAA'. "'ZCOG'.
* Organización de ventas
e_vbak-vkorg = 'ZML'. " 'ZGAS'.
* Canal de distribución
e_vbak-vtweg = 'ZL'. " 'CO'.
* Sector
e_vbak-spart = '07'. " '02'.
** Solicitante.
* e_vbak-kunnr = '100004243'.
*
* Motivo de pedido
e_vbak-augru = 'A1'.
CALL FUNCTION 'MAP_VBAK_TO_BAPISDHD'
EXPORTING
VBAK = E_VBAK
CHANGING
BAPISDHD = e_bapisdhd
EXCEPTIONS
ERROR_CONVERTING_CURR_AMOUNT = 1
OTHERS = 2
.
move-corresponding e_bapisdhd to i_order_header_in.
i_order_header_in-refobjtype = 'BUS2032'.
* Borrar elemento PEP
clear i_order_header_in-wbs_elem.
*****************************************************
* OJO !!!!!!!
* El interlocutor comercial debe ser en formato SAP
*****************************************************
* Interlocutor comercial - solicitante, etc.
refresh i_order_partners.
clear i_order_partners.
i_order_partners-partn_role = 'AG'.
i_order_partners-partn_numb = '0091006039'.
append i_order_partners.
clear i_order_partners.
i_order_partners-partn_role = 'SP'.
i_order_partners-partn_numb = '0091006039'.
append i_order_partners.
* Posiciones de pedido.
refresh i_order_items_in.
clear i_order_items_in.
i_order_items_in-itm_number = '00010'.
i_order_items_in-PO_ITM_NO = i_order_items_in-itm_number.
i_order_items_in-material = 'MLOFER7'.
*i_order_items_in-config_id = '000001'.
*i_order_items_in-inst_id = '00000001'.
append i_order_items_in.
* Cantidad
refresh i_order_schedules_in.
clear i_order_schedules_in.
i_order_schedules_in-itm_number = i_order_items_in-itm_number.
i_order_schedules_in-req_qty = '1'.
append i_order_schedules_in.
* Características REF
refresh i_order_cfgs_ref.
clear i_order_cfgs_ref.
i_order_cfgs_ref-posex = i_order_items_in-PO_ITM_NO.
i_order_cfgs_ref-config_id = '000001'.
i_order_cfgs_ref-root_id = '00000001'.
append i_order_cfgs_ref.
* Características INSTANCES
refresh i_order_cfgs_inst.
clear i_order_cfgs_inst.
i_order_cfgs_inst-config_id = i_order_cfgs_ref-config_id.
i_order_cfgs_inst-inst_id = '00000001'.
i_order_cfgs_inst-obj_type = 'MARA'.
i_order_cfgs_inst-class_type = '300'.
i_order_cfgs_inst-obj_key = 'MLOFER1'.
append i_order_cfgs_inst.
* Características PART OF
* Características VALUE
refresh i_order_cfgs_value.
clear i_order_cfgs_value.
i_order_cfgs_value-config_id = i_order_cfgs_inst-config_id.
i_order_cfgs_value-inst_id = i_order_cfgs_inst-inst_id.
i_order_cfgs_value-charc = 'ZMLOFERFASICO'.
i_order_cfgs_value-value = 'M'.
append i_order_cfgs_value.
break-point.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
* SALESDOCUMENTIN =
ORDER_HEADER_IN = i_order_header_in
* ORDER_HEADER_INX =
* SENDER =
* BINARY_RELATIONSHIPTYPE =
* INT_NUMBER_ASSIGNMENT =
* BEHAVE_WHEN_ERROR =
* LOGIC_SWITCH =
* TESTRUN =
* CONVERT = ' '
IMPORTING
SALESDOCUMENT = e_vbeln
TABLES
RETURN = i_return
ORDER_ITEMS_IN = i_order_items_in
* ORDER_ITEMS_INX =
ORDER_PARTNERS = i_order_partners
ORDER_SCHEDULES_IN = i_order_schedules_in
* ORDER_SCHEDULES_INX =
* ORDER_CONDITIONS_IN =
ORDER_CFGS_REF = i_order_cfgs_ref
ORDER_CFGS_INST = i_order_cfgs_inst
* ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE = i_order_cfgs_value
* ORDER_CFGS_BLOB =
* ORDER_CFGS_VK =
* ORDER_CFGS_REFINST =
* ORDER_CCARD =
* ORDER_TEXT =
* ORDER_KEYS =
* EXTENSIONIN =
* PARTNERADDRESSES =
.
if not e_vbeln is initial.
break-point.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT =
* IMPORTING
* RETURN =
.
endif.