1. 程式人生 > >SD--va01 螢幕增強

SD--va01 螢幕增強

在銷售訂單處理中,使用者會需要控制螢幕的一些欄位是否允許修改,在配置裡沒有設定,為了實現該要求只能通過sap提供的增強來實現。
sap為使用者提供了三種增強,使用者可以選擇任一種來實現。

1)BADI

對應的介面類是:IF_EX_BADI_SD_SALES_BASIC

實現方法參見:http://blog.csdn.net/CompassButton/archive/2006/10/21/1344686.aspx

2)函式型增強

對應函式是:FUNCTION EXIT_SAPMV45A_004

FUNCTION EXIT_SAPMV45A_004.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"       IMPORTING
*"             VALUE(I_SCREEN_NAME) LIKE FELD-NAME
*"             VALUE(I_VBAP) LIKE VBAP STRUCTURE VBAP
*"             VALUE(I_VBUP) LIKE VBUPVB STRUCTURE VBUPVB
*"             VALUE(I_SCREEN_GROUP4) LIKE FELD-GRP4
*"             VALUE(I_T180_AKTYP) LIKE T180-AKTYP
*"       CHANGING
*"             VALUE(C_SCREEN_ACTIVE)
*"             VALUE(C_SCREEN_INVISIBLE)
*"             VALUE(C_SCREEN_INPUT)
*"----------------------------------------------------------------------


INCLUDE ZXVVAU09 .


ENDFUNCTION.
實現參見http://blog.csdn.net/CompassButton/archive/2006/08/31/1150258.aspx

3)Form型增強

Form型增強Form對應單元是:MV45AFZZ

程式碼如下:

FORM USEREXIT_FIELD_MODIFICATION.

* CASE SCREEN-GROUP3.
*   WHEN '900'.
*     IF VBAK-VBTYP NE 'A'.
*       SCREEN-ACTIVE = 0.
*     ENDIF.
* ENDCASE.

* CASE SCREEN-NAME.
*   WHEN 'VBAK-VBELN'.
*     SCREEN-ACTIVE = 0.
* ENDCASE.

ENDFORM.

 


來源:http://hi.baidu.com/gary%5Fc/blog/item/09c354dda116b63c5882dd5f.html