‎2007 Dec 11 10:02 AM
Hi All,
I've this simple program to create Sales Order using BAPI.. it's creating sales order but I can't see any values in quantity in sales order ..always blank...
is there any mistake in my code please let me know....
thanks in advance....
REPORT zsales_create2 .
DATA : li_order_partners TYPE STANDARD TABLE OF bapiparnr,
l_order_partners LIKE bapiparnr,
*Structures for order header
l_order_header_in LIKE bapisdhd1,
l_order_header_inx LIKE bapisdhd1x,
*Tables for order items
li_order_items_in TYPE STANDARD TABLE OF bapisditm,
l_order_items_in LIKE bapisditm,
li_order_items_inx TYPE STANDARD TABLE OF bapisditmx,
l_order_items_inx LIKE bapisditmx,
*Return table from bapi call
li_return TYPE STANDARD TABLE OF bapiret2,
l_return TYPE bapiret2,
*Sales document number
l_vbeln LIKE bapivbeln-vbeln,
*Error flag
l_errflag(1) TYPE c.
START-OF-SELECTION.
l_order_partners-partn_role = 'AG'.
l_order_partners-partn_numb = 'MWL'.
APPEND l_order_partners TO li_order_partners.
*Update flag
l_order_header_inx-updateflag = 'I'.
*Sales document type
l_order_header_in-doc_type = 'ZOR'.
l_order_header_inx-doc_type = 'X'.
*Sales organization
l_order_header_in-sales_org = '0081'.
l_order_header_inx-sales_org = 'X'.
*Distribution channel
l_order_header_in-distr_chan = '01'.
l_order_header_inx-distr_chan = 'X'.
*Division
l_order_header_in-division = 'RT'.
l_order_header_inx-division = 'X'.
*Purchase order
l_order_header_in-purch_no_c = '123456'.
l_order_header_inx-purch_no_c = 'X'.
l_order_items_in-itm_number = '10'.
l_order_items_inx-itm_number = '10'.
l_order_items_in-material = '24815010RO1'.
l_order_items_inx-material = 'X'.
l_order_items_in-comp_quant = '100'. "qunatity
l_order_items_inx-comp_quant = 'X'.
APPEND l_order_items_in TO li_order_items_in.
l_order_items_inx-updateflag = 'I'.
APPEND l_order_items_inx TO li_order_items_inx.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
order_header_in = l_order_header_in
order_header_inx = l_order_header_inx
IMPORTING
salesdocument = l_vbeln
TABLES
return = li_return
order_items_in = li_order_items_in
order_items_inx = li_order_items_inx
order_partners = li_order_partners.
CLEAR l_errflag.
WRITE: / 'Sales dcoument: ', l_vbeln.
LOOP AT
li_return INTO l_return.
WRITE: / l_return-type, l_return-message(50).
IF l_return-type = 'E'.
l_errflag = 'X'.
ENDIF.
ENDLOOP.
IF l_errflag IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ENDIF.
‎2007 Dec 13 7:13 AM
hi,
i am forwarding you a sample program which is running fine at my end.
kindly observe
REPORT ZSKCREA .
*types : begin of xml_line,
data(256) type x,
end of xml_line.
*
*data: xml_table type table of xml_line,
xml_table_size type i,
istream type ref to if_ixml_istream.
*
*call function 'GUI_UPLOAD'
exporting
filename = 'c:\slcreaorder2.xml'
FILETYPE = 'BIN'
IMPORTING
FILELENGTH = xml_table_size
tables
data_tab = xml_table
*.
data : salesorderheader like BAPISDHD1 occurs 0 with header line,
salesorderheaderx like BAPISDHD1X occurs 0 with header line,
salesorderitems like BAPISDITM occurs 0 with header line,
salesorderitemsx like BAPISDITMX occurs 0 with header line,
salesorderpartners like BAPIPARNR occurs 0 with header line,
salesorderschdule like BAPISCHDL occurs 0 with header line,
salesorderschdulex like BAPISCHDLX occurs 0 with header line,
salesordercondition like bapicond occurs 0 with header line,
salesorderconditionx like bapicondx occurs 0 with header line,
return1 like BAPIRET2 occurs 0 with header line.
salesorderheader-doc_type = 'TA'.
salesorderheader-sales_org = 'JNJ1'.
salesorderheader-distr_chan = '02'.
salesorderheader-division = 'J1'.
salesorderheader-sales_off = 'JNJ1'.
salesorderheader-purch_no_c = 'testbapipo'.
salesorderheader-purch_date = sy-datum.
salesorderheader-req_date_h = sy-datum.
append salesorderheader.
salesorderitems-material = '000000000000000727'.
salesorderitems-plant = 'JNJ1'.
salesorderitems-target_qu = 'EA'.
append salesorderitems.
salesorderpartners-partn_role = 'AG'.
salesorderpartners-partn_numb = '0000000036'.
append salesorderpartners.
salesorderschdule-itm_number = '10'.
salesorderschdule-req_qty = '10'.
append salesorderschdule.
salesordercondition-cond_type = 'zpr1'.
salesordercondition-cond_value = '40'.
append salesordercondition.
salesorderheaderx-updateflag = 'I'.
salesorderheaderx-doc_type = 'X'.
salesorderheaderx-sales_org = 'X'.
salesorderheaderx-distr_chan = 'X'.
salesorderheaderx-division = 'X'.
salesorderheaderx-sales_off = 'X'.
salesorderheaderx-purch_no_c = 'X'.
salesorderheaderx-purch_date = 'X'.
salesorderheaderx-req_date_h = 'X'.
salesorderitemsx-updateflag = 'I'.
salesorderitemsx-material = 'X'.
salesorderitemsx-plant = 'X'.
salesorderitemsx-division = 'X'.
salesorderitemsx-target_qu = 'X'.
append salesorderitemsx.
salesorderschdulex-updateflag = 'I'.
salesorderschdulex-itm_number = 'X'.
salesorderschdulex-req_qty = 'X'.
append salesorderschdulex.
salesorderconditionx-updateflag = 'I'.
salesorderconditionx-cond_type = 'X'.
salesorderconditionx-cond_value = 'X'.
append salesorderconditionx.
call function 'BAPI_SALESORDER_CREATEFROMDAT2'
exporting
SALESDOCUMENTIN =
order_header_in = salesorderheader
ORDER_HEADER_INX = salesorderheaderx
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = 'c:\msk2.xml '
IMPORTING
SALESDOCUMENT = salesdocument
tables
RETURN = return1
ORDER_ITEMS_IN = salesorderitems
ORDER_ITEMS_INX = salesorderitemsx
order_partners = salesorderpartners
ORDER_SCHEDULES_IN = salesorderschdule
ORDER_SCHEDULES_INX = salesorderschdulex
ORDER_CONDITIONS_IN =
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 =
EXTENSIONIN =
PARTNERADDRESSES =
.
call function 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT =
IMPORTING
RETURN =
.
regards,
pavan
Reward if useful
‎2007 Dec 11 10:23 AM
‎2007 Dec 11 1:41 PM
Hi karthik,
It's not working ...!!
any more suggestions please.....
‎2007 Dec 11 2:05 PM
Hi Sudha,
You alway need to give unit of measure field.
100 is hundred KG, or 100 pieces?
Regards,
Frank Umans
‎2007 Dec 11 2:38 PM
Hi Frank
thank you for reply...
Here 100 is peices...which extra field I've to pass now..??
‎2007 Dec 13 7:13 AM
hi,
i am forwarding you a sample program which is running fine at my end.
kindly observe
REPORT ZSKCREA .
*types : begin of xml_line,
data(256) type x,
end of xml_line.
*
*data: xml_table type table of xml_line,
xml_table_size type i,
istream type ref to if_ixml_istream.
*
*call function 'GUI_UPLOAD'
exporting
filename = 'c:\slcreaorder2.xml'
FILETYPE = 'BIN'
IMPORTING
FILELENGTH = xml_table_size
tables
data_tab = xml_table
*.
data : salesorderheader like BAPISDHD1 occurs 0 with header line,
salesorderheaderx like BAPISDHD1X occurs 0 with header line,
salesorderitems like BAPISDITM occurs 0 with header line,
salesorderitemsx like BAPISDITMX occurs 0 with header line,
salesorderpartners like BAPIPARNR occurs 0 with header line,
salesorderschdule like BAPISCHDL occurs 0 with header line,
salesorderschdulex like BAPISCHDLX occurs 0 with header line,
salesordercondition like bapicond occurs 0 with header line,
salesorderconditionx like bapicondx occurs 0 with header line,
return1 like BAPIRET2 occurs 0 with header line.
salesorderheader-doc_type = 'TA'.
salesorderheader-sales_org = 'JNJ1'.
salesorderheader-distr_chan = '02'.
salesorderheader-division = 'J1'.
salesorderheader-sales_off = 'JNJ1'.
salesorderheader-purch_no_c = 'testbapipo'.
salesorderheader-purch_date = sy-datum.
salesorderheader-req_date_h = sy-datum.
append salesorderheader.
salesorderitems-material = '000000000000000727'.
salesorderitems-plant = 'JNJ1'.
salesorderitems-target_qu = 'EA'.
append salesorderitems.
salesorderpartners-partn_role = 'AG'.
salesorderpartners-partn_numb = '0000000036'.
append salesorderpartners.
salesorderschdule-itm_number = '10'.
salesorderschdule-req_qty = '10'.
append salesorderschdule.
salesordercondition-cond_type = 'zpr1'.
salesordercondition-cond_value = '40'.
append salesordercondition.
salesorderheaderx-updateflag = 'I'.
salesorderheaderx-doc_type = 'X'.
salesorderheaderx-sales_org = 'X'.
salesorderheaderx-distr_chan = 'X'.
salesorderheaderx-division = 'X'.
salesorderheaderx-sales_off = 'X'.
salesorderheaderx-purch_no_c = 'X'.
salesorderheaderx-purch_date = 'X'.
salesorderheaderx-req_date_h = 'X'.
salesorderitemsx-updateflag = 'I'.
salesorderitemsx-material = 'X'.
salesorderitemsx-plant = 'X'.
salesorderitemsx-division = 'X'.
salesorderitemsx-target_qu = 'X'.
append salesorderitemsx.
salesorderschdulex-updateflag = 'I'.
salesorderschdulex-itm_number = 'X'.
salesorderschdulex-req_qty = 'X'.
append salesorderschdulex.
salesorderconditionx-updateflag = 'I'.
salesorderconditionx-cond_type = 'X'.
salesorderconditionx-cond_value = 'X'.
append salesorderconditionx.
call function 'BAPI_SALESORDER_CREATEFROMDAT2'
exporting
SALESDOCUMENTIN =
order_header_in = salesorderheader
ORDER_HEADER_INX = salesorderheaderx
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = 'c:\msk2.xml '
IMPORTING
SALESDOCUMENT = salesdocument
tables
RETURN = return1
ORDER_ITEMS_IN = salesorderitems
ORDER_ITEMS_INX = salesorderitemsx
order_partners = salesorderpartners
ORDER_SCHEDULES_IN = salesorderschdule
ORDER_SCHEDULES_INX = salesorderschdulex
ORDER_CONDITIONS_IN =
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 =
EXTENSIONIN =
PARTNERADDRESSES =
.
call function 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT =
IMPORTING
RETURN =
.
regards,
pavan
Reward if useful
‎2007 Dec 13 10:08 AM