Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BAPI_SALESORDER_CREATEFROMDAT2

Former Member
0 Likes
527

Hi all,

i am trying to create sales order using BAPI_SALESORDER_CREATEFROMDAT2 bapi

i got the following error.

219Sales document was not changed

loop at it_salesorder.

clear: it_order_items,

it_order_itemsx,

it_order_partners,

it_order_schdl,

it_order_schdlx,

it_return.

refresh: it_order_items,

it_order_itemsx,

it_order_partners,

it_order_schdl,

it_order_schdlx,

it_return.

  • Order header

BAPISDHD-doc_type = it_salesorder-auart.

BAPISDHD-distr_chan = it_salesorder-vtweg .

BAPISDHD-division = it_salesorder-spart.

BAPISDHD-sales_org = it_salesorder-vkorg.

BAPISDHD-purch_no_c = it_salesorder-bstnk.

BAPISDHD-purch_date = it_salesorder-bstdk.

BAPISDHD-REQ_DATE_H = it_salesorder-J_3ARQDA.

BAPISDHD-CANCEL_DATE = it_salesorder-J_3ACADA.

BAPISDHD-doc_DATE = it_salesorder-Audat.

BAPISDHD-name = it_salesorder-BNAME.

BAPISDHD-ORD_REASON = it_salesorder-augru.

BAPISDHD-PMNTTRMS = it_salesorder-zterm.

BAPISDHD-DLVSCHDUSE = it_salesorder-ABRVW.

BAPISDHD-PMNTTRMS = it_salesorder-zterm.

BAPISDHDX-doc_type = 'x'.

BAPISDHDX-distr_chan = 'x' .

BAPISDHDX-division = 'x'.

BAPISDHDX-sales_org = 'x'.

BAPISDHDX-purch_no_c = 'x'.

BAPISDHDX-purch_date = 'x'.

BAPISDHDX-REQ_DATE_H = 'x'.

BAPISDHDX-CANCEL_DATE = 'x'.

BAPISDHDX-doc_DATE = 'x'.

BAPISDHDX-name = 'x'.

BAPISDHDX-ORD_REASON = 'x'.

BAPISDHDX-PMNTTRMS = 'x'.

  • Partner data

it_order_partners-partn_role = 'WE'.

it_order_partners-partn_numb = it_salesorder-kunnr.

append it_order_partners.

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'

EXPORTING

  • SALESDOCUMENTIN =

ORDER_HEADER_IN = BAPISDHD

ORDER_HEADER_INX = BAPISDHDX

  • SENDER =

  • BINARY_RELATIONSHIPTYPE =

  • INT_NUMBER_ASSIGNMENT =

  • BEHAVE_WHEN_ERROR =

  • LOGIC_SWITCH =

  • TESTRUN =

  • CONVERT = ' '

  • IMPORTING

  • SALESDOCUMENT =

TABLES

RETURN = it_return

  • ORDER_ITEMS_IN =

  • ORDER_ITEMS_INX =

  • ORDER_SCHEDULES_IN =

  • ORDER_SCHEDULES_INX =

ORDER_PARTNERS = it_order_partners

  • ORDER_CONDITIONS_IN =

  • 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 =

.

WRITE:/ IT_RETURN-TYPE,

2 IT_RETURN-ID,

22 IT_RETURN-NUMBER,

25 IT_RETURN-MESSAGE,

/ IT_RETURN-LOG_NO,

/ IT_RETURN-LOG_MSG_NO,

/ IT_RETURN-MESSAGE_V1,

/ IT_RETURN-MESSAGE_V2,

/ IT_RETURN-MESSAGE_V3,

/ IT_RETURN-MESSAGE_V4,

/ IT_RETURN-PARAMETER,

/ IT_RETURN-ROW,

/ IT_RETURN-FIELD,

/ IT_RETURN-SYSTEM.

READ TABLE it_return WITH KEY type = 'E'.

IF sy-subrc = 0.

*-- error occured

CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

ELSE.

*-- no error

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = ' '.

  • IMPORTING

  • RETURN =

ENDIF.

ENDLOOP.

1 REPLY 1
Read only

Former Member
0 Likes
367

Hi,

<b>Whe you are CREATING a sales order you do not have to send data in BAPISDHDX structure</b>. Do not pass any data in structure BAPISDHDX and check again.

Also, whenever you use BAPI_TRANSACTION_COMMIT, always use WAIT = 'X'. So the system will wait until the commit work is done.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
       WAIT = ' X'.
    IMPORTING
       RETURN = it_return.

Let me know if you still have a problem.

Regards,

RS