用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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mac修改系統時間和日期的方法Mac
- windows10系統修改時間和日期的方法Windows
- win10如何修改時間日期格式 調整時間格式和日期格式的方法Win10
- git 修改已有commit的提交日期GitMIT
- Java 例項 - 修改檔案最後的修改日期Java
- Aix 修改日期時間AI
- Oracle 修改預設日期格式Oracle
- Linux 日期時間修改Linux
- 出貨不成功,出貨介面為shipped, 部分訂單為booked的處理過程.(有修改)
- mui日期選擇器彈出兩次的解決方法UI
- 修改資料庫的日期顯示格式資料庫
- 日期判斷行修改指令碼指令碼
- git 修改提交作者及提交日期Git
- 實現日期的加算方法
- php讀取mssql日期出現中文字元的解決方法PHPSQL字元
- 【BBED】使用bbed 修改日期型別的資料型別
- 「SAP技術」SAP MM 向交貨單的存在不阻止PO被刪除
- 淺析VO、DTO、DO、PO的概念、區別和用處
- Free Item in PO
- Windows 7 釋出日期 結束日期 時長Windows
- linux 下修改日期和時間Linux
- 修改sqlplus中顯示時間日期的格式SQL
- Ubuntu:修改hosts的方法Ubuntu
- [Oracle]常用日期取值方法Oracle
- IHS Markit:汽車用螢幕出貨首次出現衰退
- 日期的一些應用
- SAP MM 一個含有多個賬號分配物件的行專案的PO及其收貨物件
- 抓出某年某些客戶的銷貨數量與金額,及各ITEM的PO筆數
- SAP MM Use ZBAPI_PO_CRATE to load open PO documentAPI
- 如何實現PO的輸出向客戶傳送郵件的增強
- 在Linux中如何檢視檔案的修改日期Linux
- Linux系統修改日期及時間Linux
- win10系統修改日期時“日期更改”按鈕灰色怎麼辦Win10
- aix下前幾天日期的表示方法AI
- 修改docker映象源的方法Docker
- ORACLE 修改schemas的方法一Oracle
- oracle rac 修改 miscount的方法 。Oracle
- Android Setting下修改時間與日期格式的問題???Android