背景:
(1)VA41/VA42/VA43螢幕增強:在“付款方式”頁簽,進行螢幕字段增強
(2)VBAK表字段增強:增加相應的增強字段
(3)VA41/VA42儲存時:check增強字段“合同所屬事業部”是否在表cepc中存在
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiNx8FesU2cfdGLwczX0xiRGZkRGZ0Xy9GbvNGLwIzXlpXazxCbWdlWNljVhpGbyEVQClGVF5UMR9Fd4VGdsATNfd3bkFGazxSUhxGatJGbwhFT1Y0Mk9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzMTY0ADMyY2NzEzN5Y2MhBjNxQTOlVTOkBjYkRWZyYzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
解決方案
1、SE38:SAPMV45A,其中的 include mv45afzz
(或者直接SE38:MV45AFZZ)
2、儲存check:FORM USEREXIT_SAVE_DOCUMENT
(1)在該form中,進行隐式增強
(2)主要資料:xvbap[],XVBAK
相關代碼:
FORM USEREXIT_SAVE_DOCUMENT.
* Example:
* CALL FUNCTION 'ZZ_EXAMPLE'
* IN UPDATE TASK
* EXPORTING
* ZZTAB = ZZTAB.
*{ INSERT S4DK901200 1
"360 銷售訂單增強
DATA:lt_vbep TYPE STANDARD TABLE OF vbepvb,
ls_vbep LIKE LINE OF lt_vbep.
lt_vbep = xvbep[].
LOOP AT xvbap.
READ TABLE lt_vbep INTO ls_vbep WITH KEY vbeln = xvbap-vbeln posnr = xvbap-posnr.
if xvbap-zzeindt1 is initial .
xvbap-zzeindt1 = ls_vbep-edatu.
endif.
if xvbap-zzeindt2 is initial .
xvbap-zzeindt2 = ls_vbep-edatu.
endif.
if xvbap-zzeindt1 = xvbap-zzeindt2.
xvbap-zzeindt2 = ls_vbep-edatu.
endif.
modify xvbap transporting zzeindt1 zzeindt2.
endloop.
*} INSERT
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(1) Form USEREXIT_SAVE_DOCUMENT, Ende A
*$*$-Start: (1)---------------------------------------------------------------------------------$*$*
ENHANCEMENT 1 ZMV45AFZZ_SAVE_DOCUMENT. "active version
*
DATA: LV_PRCTR TYPE CEPC-prctr.
SELECT SINGLE PRCTR INTO LV_PRCTR
FROM CEPC
WHERE PRCTR = XVBAK-ZSPARE5.
IF SY-SUBRC NE 0 AND LV_PRCTR IS INITIAL.
MESSAGE '合同所屬事業部的值:' && XVBAK-ZSPARE5 && '不在表CEPC中' TYPE 'E'.
ENDIF.
ENDENHANCEMENT.
*$*$-End: (1)---------------------------------------------------------------------------------$*$*
ENDFORM.
3、其他
(1)FORM USEREXIT_READ_DOCUMENT.
"----銷售訂單擡頭螢幕增強(附加資料B)——付款方式
"--螢幕号:SAPMV45A --- 8309
"--PBO:MV45AOZZ
"--PAI:MV45AIZZ
"--定義:MV45ATZZ(TOP的定義中)
"--讀取付款方式資料到內表:MV45AFZZ(讀取其他資料出口)
"--附加資料B 頁簽描述改動(SAPMV45A——4002螢幕—MODULE taxi_initialize_carrierscreen)