2007 Sep 20 7:16 PM
Hi Experts,
In a program, I'm using 'BAPI_SALESORDER_CHANGE' to change a Sales Order.
I have used 'BAPI_TRANSACTION_COMMIT also to commit the transaction.
But when I go and look into the Sales Order, I did not see the changes.
Can anybody help me what went wrong?
Thanks a lot.
The log I got after I ran the ''BAPI_SALESORDER_CHANGE' is:
3 Entries
T ID NUM MESSAGE
S V4 233 ORDER_HEADER_IN has been processed successfully
S V4 233 ITEM_IN has been processed successfully
S V1 311 Sales document 0076065038 has been saved
2007 Sep 20 9:09 PM
Hi Sam
Sometimes there will be delay in update.
Hence in the 'BAPI_TRANSACTION_COMMIT try to use WAIT = 'X'
Regards
MD
Hi Experts,
In a program, I'm using 'BAPI_SALESORDER_CHANGE' to change a Sales Order.
I have used 'BAPI_TRANSACTION_COMMIT also to commit the transaction.
But when I go and look into the Sales Order, I did not see the changes.
Can anybody help me what went wrong?
Thanks a lot.
The log I got after I ran the ''BAPI_SALESORDER_CHANGE' is:
3 Entries
T ID NUM MESSAGE
S V4 233 ORDER_HEADER_IN has been processed successfully
S V4 233 ITEM_IN has been processed successfully
S V1 311 Sales document 0076065038 has been saved
2007 Sep 20 7:25 PM
Check if all required parameters are populated correctly.
For help, try this link. It contains sample program with this BAPI use -
2007 Sep 20 9:09 PM
Hi Sam
Sometimes there will be delay in update.
Hence in the 'BAPI_TRANSACTION_COMMIT try to use WAIT = 'X'
Regards
MD
2007 Sep 20 9:50 PM
Hi,
Still that problem persists. Can you please have a look at my code and correct me?
Thanks.
REPORT ZVTEST24 NO STANDARD PAGE HEADING
LINE-SIZE 132
LINE-COUNT 65(0)
MESSAGE-ID ZM.
TABLES: VBAP, vbkd.
DATA: V_RECIN TYPE I,
V_RECVBAP TYPE I,
V_RECORDER TYPE I,
V_VBELN LIKE VBAP-VBELN,
i_ORDERHEADERINX LIKE BAPISDH1X.
DATA: BEGIN OF I_ORDERS OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
prsdt like vbkd-prsdt,
END OF I_ORDERS.
DATA: BEGIN OF i_ORDERITEMIN OCCURS 0.
INCLUDE STRUCTURE BAPISDITM.
DATA: END OF i_ORDERITEMIN.
DATA: BEGIN OF i_ORDERITEMINX OCCURS 0.
INCLUDE STRUCTURE BAPISDITMX.
DATA: END OF i_ORDERITEMINX.
DATA: BEGIN OF i_RETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF i_RETURN.
DATA: BEGIN OF i_BAPIRETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF i_BAPIRETURN.
*-- Selection Screen
PARAMETERS: p_vbeln like vbak-vbeln,
p_posnr like vbap-posnr,
p_date like vbkd-prsdt.
*-- Start-of-selection
START-OF-SELECTION.
select vbeln posnr prsdt from vbkd
into table i_orders
where vbeln = p_vbeln
and posnr = p_posnr.
if sy-subrc = 0.
loop at i_orders.
i_orders-prsdt = p_date.
modify i_orders index sy-tabix.
endloop.
endif.
*-- Sort and remove duplicates from i_orders
SORT I_ORDERS BY VBELN POSNR.
DELETE ADJACENT DUPLICATES FROM I_ORDERS.
*-- Populate Bapi and Run Bapi Data
CLEAR: i_orderheaderinx, i_orderitemin, i_orderiteminx,
i_return, i_bapireturn.
REFRESH: i_orderitemin, i_orderiteminx, i_return, i_bapireturn.
i_orderheaderinx-updateflag = 'U'.
LOOP AT I_ORDERS.
i_ORDERITEMIN-ITM_NUMBER = I_ORDERS-POSNR.
i_orderitemin-price_date = i_orders-prsdt.
APPEND i_ORDERITEMIN.
i_ORDERITEMINX-ITM_NUMBER = I_ORDERS-POSNR.
i_ORDERITEMINX-UPDATEFLAG = 'U'.
APPEND i_ORDERITEMINX.
IF NOT i_orderitemin IS INITIAL.
V_RECORDER = V_RECORDER + 1.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = I_ORDERS-VBELN
ORDER_HEADER_INX = i_orderheaderinx
TABLES
RETURN = i_return
ORDER_ITEM_IN = i_orderitemin
ORDER_ITEM_INX = i_orderiteminx.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = i_bapireturn.
ENDIF.
ENDLOOP.
*-- Write out return
LOOP AT i_return.
WRITE: / i_return.
ENDLOOP.
WRITE: / i_bapireturn.
SKIP.
*-- Write out record count from file
WRITE: / 'RECORD COUNT FROM FILE ', V_RECIN.
SKIP.
*-- Write out record count from file
WRITE: / 'RECORD COUNT OF LINES TO CHANGE ', V_RECVBAP.
SKIP.
*-- Write out record count from file
WRITE: / 'RECORD COUNT OF ORDERS TO CHANGE ', V_RECORDER.
SKIP.
2007 Sep 21 12:23 AM
You also need to populate parameter ORDER_HEADER_IN.
Try adding this and see. Also check if DATE format is correct.
2007 Sep 21 12:53 AM
I guess u r missing to pass some flag I suggest u to check where used list with the FM and check what u r not passing...
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |