用BAPI_PO_CHANGE修改(ME23N)PO出貨日期的方法
* Call BAPI function
DATA: lt_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
lt_poschedule LIKE bapimeposchedule OCCURS 0 WITH HEADER LINE,
lt_poschedulex LIKE bapimeposchedulx OCCURS 0 WITH HEADER LINE,
l_line TYPE i,
l_flag(1),
l_ebeln LIKE ekko-ebeln,
l_werks LIKE ekpo-werks.
LOOP AT it_itab.
CLEAR: l_line, l_flag.
lt_poschedule-po_item = it_itab-ebelp.
lt_poschedule-sched_line = '0001'.
lt_poschedule-del_datcat_ext = 'D'.
lt_poschedule-delivery_date = it_itab-eindt.
APPEND lt_poschedule.
CLEAR lt_poschedule.
*上面要轉的引數,在下面都要給'X'值.如po_itemx = 'X'.
lt_poschedulex-po_item = it_itab-ebelp.
lt_poschedulex-po_itemx = 'X'.
lt_poschedulex-sched_line = '0001'.
lt_poschedulex-sched_linex = 'X'.
lt_poschedulex-del_datcat_ext = 'X'.
lt_poschedulex-delivery_date = 'X'.
APPEND lt_poschedulex.
CLEAR lt_poschedulex.
DESCRIBE TABLE lt_poschedule LINES l_line.
AT END OF ebeln.
CLEAR l_ebeln.
l_werks = it_itab-werks.
l_ebeln = it_itab-ebeln.
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
*PO NO.
purchaseorder = it_itab-ebeln
*TEST RUN
testrun = p_test
TABLES
return = lt_return
poschedule = lt_poschedule
poschedulex = lt_poschedulex.
LOOP AT lt_return.
IF lt_return-type = 'E' OR lt_return-type = 'A'
OR ( lt_return-type = 'I' AND lt_return-id = 'VD' ).
g_text = lt_return-message.
PERFORM add_error_log USING g_text 'X'.
l_flag = 'X'.
ENDIF.
ENDLOOP.
IF l_flag = 'X'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
DELETE it_itab WHERE werks = l_werks AND ebeln = l_ebeln.
ENDIF.
IF l_flag = space AND p_test IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
CLEAR: lt_poschedule, lt_poschedule[], lt_return, lt_return[],
lt_poschedulex, lt_poschedulex[].
ENDAT.
ENDLOOP.
SORT it_error BY ebeln ebelp.
DELETE ADJACENT DUPLICATES FROM it_error.
DELETE it_itab WHERE flag = 'X'.
DESCRIBE TABLE it_itab LINES g_success.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90072/viewspace-934484/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- windows10系統修改時間和日期的方法Windows
- win10如何修改時間日期格式 調整時間格式和日期格式的方法Win10
- git 修改已有commit的提交日期GitMIT
- Java 例項 - 修改檔案最後的修改日期Java
- git 修改提交作者及提交日期Git
- 在Linux中如何檢視檔案的修改日期Linux
- Windows 7 釋出日期 結束日期 時長Windows
- 淺析VO、DTO、DO、PO的概念、區別和用處
- Ubuntu:修改hosts的方法Ubuntu
- 日期的一些應用
- jira修改RoadMap裡的時間格式,硬核日期格式化
- 「SAP技術」SAP MM 向交貨單的存在不阻止PO被刪除
- win10系統修改日期時“日期更改”按鈕灰色怎麼辦Win10
- Java的日期類都是怎麼用的Java
- 修改docker映象源的方法Docker
- 信用卡出賬日期和還款日期調整
- 如何實現PO的輸出向客戶傳送郵件的增強
- layui修改select的值的方法UI
- SAP MM 一個含有多個賬號分配物件的行專案的PO及其收貨物件
- python 字典修改鍵(key)的方法Python
- 修改 requests 庫原始碼的方法原始碼
- 修改不同IP的方法介紹!
- 修改網頁內容的方法網頁
- 修改Mysql root密碼的方法MySql密碼
- js中修改this的指向方法整理JS
- java方法的神奇修改(重寫)Java
- windows10系統怎麼修改時間和日期Windows
- excel日期加減計算方法 excel計算日期時間差Excel
- powershell無法修改字符集,非修改登錄檔修改powershell的方法
- 客製化PO單據的模板
- go: 修改應用的名字Go
- IHS Markit:汽車用螢幕出貨首次出現衰退
- 簡易實用的JavaScript日期時間操作!JavaScript
- SQL Server各種日期計算方法SQLServer
- linux匯出指定日期引數Linux
- [譯] 修改 Git 錯誤的高明方法Git
- React修改Antd元件樣式的方法React元件
- ALTER TABLE修改列的不同方法
- Ubuntu下修改為永久DNS的方法UbuntuDNS