Hello Experts,
I am using the BAPI BAPI_PO_CHANGE to fill up the latest possible goods receipt date which LEWED field.
But when I chekc the return table it says that no data was changed. Below is my code:
IF lv_flag = 'X'.
CLEAR lv_purchaseorder.
REFRESH: lt_return,
lt_poitem,
lt_poitemx.
MOVE cs_goitem-ebeln TO lv_purchaseorder.
SELECT *
FROM ekpo
INTO TABLE lt_ekpo
WHERE ebeln = lv_purchaseorder.
LOOP AT lt_ekpo INTO lw_ekpo.
CLEAR: lw_poitem,
lw_poitemx.
MOVE: lw_ekpo-ebelp TO lw_poitem-po_item,
'19000101' TO lw_poitem-gr_to_date.
MOVE: lw_ekpo-ebelp TO lw_poitemx-po_item,
'X' TO lw_poitemx-po_itemx,
'X' TO lw_poitemx-gr_to_date.
APPEND lw_poitem TO lt_poitem.
APPEND lw_poitemx TO lt_poitemx.
ENDLOOP.
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
purchaseorder = lv_purchaseorder
POHEADER =
POHEADERX =
POADDRVENDOR =
TESTRUN =
MEMORY_UNCOMPLETE =
MEMORY_COMPLETE =
POEXPIMPHEADER =
POEXPIMPHEADERX =
VERSIONS =
NO_MESSAGING =
NO_MESSAGE_REQ =
NO_AUTHORITY =
NO_PRICE_FROM_PO =
PARK_UNCOMPLETE =
PARK_COMPLETE =
IMPORTING
EXPHEADER =
EXPPOEXPIMPHEADER =
TABLES
return = lt_return
POITEM =
poitemx = lt_poitemx.
POADDRDELIVERY =
POSCHEDULE =
POSCHEDULEX =
POACCOUNT =
POACCOUNTPROFITSEGMENT =
POACCOUNTX =
POCONDHEADER =
POCONDHEADERX =
POCOND =
POCONDX =
POLIMITS =
POCONTRACTLIMITS =
POSERVICES =
POSRVACCESSVALUES =
POSERVICESTEXT =
EXTENSIONIN =
EXTENSIONOUT =
POEXPIMPITEM =
POEXPIMPITEMX =
POTEXTHEADER =
POTEXTITEM =
ALLVERSIONS =
POPARTNER =
POCOMPONENTS =
POCOMPONENTSX =
POSHIPPING =
POSHIPPINGX =
POSHIPPINGEXP =
POHISTORY =
POHISTORY_TOTALS =
POCONFIRMATION =
SERIALNUMBER =
SERIALNUMBERX =
INVPLANHEADER =
INVPLANHEADERX =
INVPLANITEM =
INVPLANITEMX =
POHISTORY_MA =
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
RETURN =
.
ENDIF.