Urgent: a problem about BAPI_SALESORDER_CREATEFROMDAT2

Question: I have some trouble in using fm “BAPI_SALESORDER_CREATEFROMDAT2”, I couldn’t add any configuration into the variant BOM. How to resolve this problem, I write the source code below , Could anybody help me to check it ??
Thank you in advance.

****code*********

REPORT Zcreate_sales_order .

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.

e_vbak-auart = 'ZSK'.

e_vbak-vkorg = 'S001'.


e_vbak-vtweg = '11'.


e_vbak-spart = '00'.


e_vbak-augru = '001'.



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'.



clear i_order_header_in-wbs_elem.



refresh i_order_partners.



clear i_order_partners.

i_order_partners-partn_role = 'AG'.

i_order_partners-partn_numb = 'C00002'.

append i_order_partners.



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 = '000000004000009999'.

i_order_items_in-plant = 'PL21'.

append i_order_items_in.



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.



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.



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 = i_order_cfgs_ref-root_id.

i_order_cfgs_inst-obj_type = 'MARA'.

i_order_cfgs_inst-class_type = '300'.

i_order_cfgs_inst-obj_key = '000000004000009999'.

append i_order_cfgs_inst.



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 = 'DC'.

i_order_cfgs_value-value = '110V'.

append i_order_cfgs_value.


CALL FUNCTION 'CUXC_INIT'.

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'

EXPORTING

ORDER_HEADER_IN = i_order_header_in

IMPORTING

SALESDOCUMENT = e_vbeln

TABLES

RETURN = i_return

ORDER_ITEMS_IN = i_order_items_in

ORDER_PARTNERS = i_order_partners

ORDER_SCHEDULES_IN = i_order_schedules_in

ORDER_CFGS_REF = i_order_cfgs_ref

ORDER_CFGS_INST = i_order_cfgs_inst

ORDER_CFGS_VALUE = i_order_cfgs_value.



if not e_vbeln is initial.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

write:/ e_vbeln.

endif.

********************************************

Answer:
Urgently, please help me !!!!!!!!
Copyright ?2007 - 2008 www.jt77.com