‎2006 Jun 06 9:45 AM
Dear Friends
I am facing the problem in the sales upload program.
it gives the return type is 'E'
message is "Sales document was not change"
Help me to solve this problem.
Thanks in advance.
The program is
******************
REPORT zsalupd2.
DATA: header LIKE bapisdhd1.
DATA: header_x LIKE bapisdhd1x.
DATA: i_partners LIKE bapiparnr OCCURS 1 WITH HEADER LINE.
DATA: i_item LIKE bapisditm OCCURS 10 WITH HEADER LINE.
DATA: item_x LIKE bapisditmx OCCURS 1 WITH HEADER LINE.
DATA: i_schedule LIKE bapischdl OCCURS 10 WITH HEADER LINE.
DATA: return LIKE bapiret2 OCCURS 1 WITH HEADER LINE.
DATA: c_checked TYPE c.
DATA : order TYPE vbeln_va. "Sales order number
order header values
header-doc_type = 'ZOR'.
header-sales_org = 8000.
header-distr_chan = 10.
header-division = 10.
header-incoterms1 = 'FOB'.
header-incoterms2 = 'FOB Chennai'.
header-created_by = 'Shankarmp'.
c_checked = 'X'.
*Header Item_x
Populate the SD header data check list.
header_x-updateflag = 'I'.
header_x-doc_type = 'ZOR'.
header_x-sales_org = 8000.
header_x-distr_chan = 10.
header_x-division = 10.
Populate SD item data check list.
*item_x-itm_number = c_checked.
*item_x-material = c_checked.
*item_x-batch = c_checked.
*item_x-store_loc = c_checked.
*item_x-plant = c_checked.
*APPEND l_w_sd_item_x TO l_t_sd_item_x.
order item level data
i_item-itm_number = '000010'.
i_item-material = '7004253'.
i_item-target_qty = 1.
i_schedule-itm_number = '000010'.
i_schedule-req_qty = 3000.
i_partners-partn_role = 'AG'. " Soldto
i_partners-partn_numb = '1150'.
APPEND: i_item,
i_schedule,
i_partners.
*CLEAR: i_item,
i_schedule,
i_partners.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
order_header_in = header
order_header_inx = header_x
IMPORTING
salesdocument = order
TABLES
return = return
order_items_in = i_item
order_items_inx = item_x
order_partners = i_partners
order_schedules_in = i_schedule.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
*****************
Shankar
‎2006 Jun 06 10:01 AM
Hi Shankar,
Are you creating Sales Orders or updating..?
Update flag 'I' stands for Insert.
And also, you should flag header_x for all fields which are going to update at header level.
And, you should flag item_x for all fields which are going to update at itme level.
Try again to change i_partners-partn_role = 'AG' to 'SP'.
Regards,
Ram
‎2006 Jun 06 10:09 AM
Hi Shankar,
Are you creating Sales Orders or updating..?
Update flag 'I' stands for Insert.
And also, you should flag header_x for all fields which are going to update at header level.
And, you should flag item_x for all fields which are going to update at itme level.
Try again to change i_partners-partn_role = 'AG' to 'SP'.
Regards,
Ram
‎2006 Jun 06 10:40 AM
******************
REPORT zsalupd2.
DATA: header LIKE bapisdhd1.
DATA: header_x LIKE bapisdhd1x.
DATA: i_partners LIKE bapiparnr OCCURS 1 WITH HEADER LINE.
DATA: i_item LIKE bapisditm OCCURS 10 WITH HEADER LINE.
DATA: item_x LIKE bapisditmx OCCURS 1 WITH HEADER LINE.
DATA: i_schedule LIKE bapischdl OCCURS 10 WITH HEADER LINE.
DATA: return LIKE bapiret2 OCCURS 1 WITH HEADER LINE.
DATA: c_checked TYPE c.
DATA : order TYPE vbeln_va. "Sales order number
order header values
header-doc_type = 'ZOR'.
header-sales_org = 8000.
header-distr_chan = 10.
header-division = 10.
header-incoterms1 = 'FOB'.
header-incoterms2 = 'FOB Chennai'.
header-created_by = 'Shankarmp'.
c_checked = 'X'.
*Header Item_x
Populate the SD header data check list.
header_x-updateflag = 'U'.
header_x-doc_type = 'X'.
header_x-sales_org = 'X'.
header_x-distr_chan = 'X'.
header_x-division = 'X'.
<b>* Populate SD item data check list.
item_x-itm_number = c_checked.
item_x-material = c_checked.
item_x-batch = c_checked.
item_x-store_loc = c_checked.
item_x-plant = c_checked.
APPEND ITEM_X.</b>
order item level data
i_item-itm_number = '000010'.
i_item-material = '7004253'.
i_item-target_qty = 1.
i_schedule-itm_number = '000010'.
i_schedule-req_qty = 3000.
i_partners-partn_role = 'AG'. " Soldto
i_partners-partn_numb = '1150'.
APPEND: i_item,
i_schedule,
i_partners.
*CLEAR: i_item,
i_schedule,
i_partners.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
order_header_in = header
order_header_inx = header_x
IMPORTING
salesdocument = order
TABLES
return = return
order_items_in = i_item
order_items_inx = item_x
order_partners = i_partners
order_schedules_in = i_schedule.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
MAKE THE HIGHLIGHTED CHANGES