用最新的采購信息記錄更新采購單的價格——BAPI_PO_CHANGE


當采購信息記錄更新價格后,可以透過前台ME22N項目-->條件-->更新 來修改采購單的價格

 

注意:采購單部分收貨、收貨已完成、結案狀態不可更新,更新價格后采購單可能需要重新簽核

批量執行改功能則使用函數BAPI_PO_CHANGE,代碼如下:

REPORT ZMMRTEST.

DATA: lv_ebeln TYPE ebeln,
      lt_item TYPE TABLE OF bapimepoitem,
      ls_item TYPE bapimepoitem,
      lt_itemx TYPE TABLE OF bapimepoitemx,
      ls_itemx TYPE bapimepoitemx,
      lt_return TYPE TABLE OF bapiret2.

lv_ebeln = '6200016316'.

ls_item-po_item = '00010'.
ls_item-calctype ='B'.
APPEND ls_item TO lt_item.

ls_itemx-po_item = '00010'.
ls_itemx-calctype ='X'.
APPEND ls_itemx TO lt_itemx.

CALL FUNCTION 'BAPI_PO_CHANGE'
  EXPORTING
    purchaseorder                = lv_ebeln
  TABLES
    return                       = lt_return
    poitem                       = lt_item
    poitemx                      = lt_itemx.

READ TABLE lt_return WITH KEY type = 'E' TRANSPORTING NO FIELDS.
IF sy-subrc = 0.
  ROLLBACK WORK.
ELSE.
  COMMIT WORK AND WAIT.
ENDIF.

cl_demo_output=>write( lt_return ).
cl_demo_output=>display(  ).

 

效果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM