銷售訂單BAPI增強
阿新 • • 發佈:2021-11-18
一、需求背景
在銷售訂單批導時,需要呼叫BAPI:BAPI_SALESORDER_CREATEFROMDAT2維護成本中心欄位,
二、增強實現
BAPI中沒有該欄位,需要通過增強的方式匯入。通過BAPI的文件,可以看出,抬頭部分和行專案欄位分別要增強的結構
因為是抬頭部分,所以要增強抬頭結構,因為VBAK表本身有KOSTL欄位,因此不用修改底表
BAPE_VBAK
BAPE_VBAKX表只用維護KOSTL的更新標識即可
VBAKKOZ
VBAKKOZX的KOSTL的元件型別必須用CHAR1或CHAR01
因此在原始碼中,此處通過元件型別去獲取增強欄位
BAPI傳入引數
DATA:LS_ZVBAK TYPE BAPE_VBAK, LS_ZVBAKX TYPE BAPE_VBAKX. LS_EXTEN TYPE BAPIPAREX, "擴充套件欄位 LT_EXTEN TYPE STANDARD TABLE OF BAPIPAREX. "擴充套件欄位 CLEAR :LS_ZVBAK,LS_ZVBAKX. LS_ZVBAK-VBELN = LS_IN-VBELN. LS_ZVBAK-KOSTL = LS_IN-ZRSV04. LS_ZVBAKX-VBELN = LS_IN-VBELN. LS_ZVBAKX-KOSTL = 'X'. CLEAR: LS_EXTEN. LS_EXTEN-STRUCTURE = 'BAPE_VBAK'. LS_EXTEN-VALUEPART1 = LS_ZVBAK. APPEND LS_EXTEN TO LT_EXTEN. CLEAR: LS_EXTEN. LS_EXTEN-STRUCTURE = 'BAPE_VBAKX'. LS_EXTEN-VALUEPART1 = LS_ZVBAKX. APPENDLS_EXTEN TO LT_EXTEN.
在出口處加入如下程式碼,將傳入的引數進行傳遞。
根據測試情況,考慮是否需要增強USEREXIT_COBL_RECEIVE_VBAK出口,本例不用增強