如何利用BAPI SD_SALESDOCUMENT_CHANGE修改Sales Order的字段
生活随笔
收集整理的這篇文章主要介紹了
如何利用BAPI SD_SALESDOCUMENT_CHANGE修改Sales Order的字段
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
假設我想修改S/4HANA里Sales Order抬頭的Service Date字段SERV_DATE:
首先從數據庫表VBKD里查找到SERV_DATE修改之前的值為2020年1月1日
使用如下代碼,將這個字段的值改成2020年1月2日。
REPORT zchange_so1.DATA: lv_num TYPE bapivbeln-vbeln,ls_doc_header TYPE bapisdhd1,lt_vbap TYPE STANDARD TABLE OF vbap.lv_num = '0000000268'.CALL FUNCTION 'SD_VBAP_READ_WITH_VBELN'EXPORTINGi_vbeln = lv_numTABLESet_vbap = lt_vbapEXCEPTIONSrecord_not_found = 1OTHERS = 2.BREAK-POINT.DATA: i_order_header_in LIKE bapisdhd1 . DATA: i_order_header_inx LIKE bapisdhd1x,lt_bapiret2 LIKE bapiret2 OCCURS 0 WITH HEADER LINE.i_order_header_inx-updateflag = 'U'. i_order_header_in-serv_date = '20200102' . i_order_header_inx-serv_date = 'X'.CALL FUNCTION 'SD_SALESDOCUMENT_CHANGE'EXPORTINGsalesdocument = lv_numorder_header_in = i_order_header_inorder_header_inx = i_order_header_inxTABLESreturn = lt_bapiret2.clear: lt_bapiret2.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'IMPORTINGRETURN = lt_bapiret2.BREAK-POINT.執行之后,從輸出參數lt_bapiret2里查看到這個Sales Order已經成功被更新了。
從后臺數據庫表VBKD里查看到這個字段的值也已經成功更新了:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的如何利用BAPI SD_SALESDOCUMENT_CHANGE修改Sales Order的字段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Twitter 正式关闭传统免费 API
- 下一篇: 使用ABAP代码创建S/4HANA里的S