一、自定義字段增強
在使用SAP系統時,我們會發現很多時候需要使用到自定義的字段,而這些字段往往並不在標準系統中預置。這時候就需要使用到自定義字段增強功能,通過該功能可以輕鬆地在業務對象內添加自定義字段,並且這些字段可以像標準字段一樣參與系統內各種功能的邏輯處理。
*&---------------------------------------------------------------------* *& Report ZDEMO_ENHANCEMENT_FIELD *&---------------------------------------------------------------------* *& 自定義字段增強示例報表 *&---------------------------------------------------------------------* REPORT ZDEMO_ENHANCEMENT_FIELD. TABLES: ZDEMO_ENHANCEMENT. DATA: WA_ENHANCEMENT LIKE LINE OF ZDEMO_ENHANCEMENT. START-OF-SELECTION. SELECT * FROM ZDEMO_ENHANCEMENT INTO WA_ENHANCEMENT. WRITE:/ WA_ENHANCEMENT-FIELD1, WA_ENHANCEMENT-FIELD2, WA_ENHANCEMENT-FIELD3. END-OF-SELECTION.
二、屏幕增強
在SAP系統中很多時候需要在標準屏幕上添加自定義的字段或者屏幕元素。這時候就需要使用到屏幕增強功能,通過該功能可以在一個標準屏幕內添加自定義的字段或/和屏幕元素。
*&---------------------------------------------------------------------*
*& Report ZDEMO_SCREEN_ENHANCEMENT
*&---------------------------------------------------------------------*
*& 屏幕增強示例報表
*&---------------------------------------------------------------------*
REPORT ZDEMO_SCREEN_ENHANCEMENT.
TABLES: ZDEMO_ENHANCEMENT.
DATA: WA_ENHANCEMENT LIKE LINE OF ZDEMO_ENHANCEMENT.
START-OF-SELECTION.
SELECT * FROM ZDEMO_ENHANCEMENT INTO WA_ENHANCEMENT.
CALL SCREEN 0101.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Module STATUS_0101 OUTPUT
*&---------------------------------------------------------------------*
MODULE STATUS_0101 OUTPUT.
SET PF-STATUS '0100'.
LOOP AT ZDEMO_ENHANCEMENT INTO WA_ENHANCEMENT.
WRITE:/ WA_ENHANCEMENT-FIELD1, WA_ENHANCEMENT-FIELD2, WA_ENHANCEMENT-FIELD3.
ENDLOOP.
ENDMODULE.
三、菜單增強
在SAP系統中很多時候需要通過菜單快捷方式來進入各種功能模塊,這時候就需要使用到菜單增強功能,通過該功能可以在標準菜單上添加自定義的菜單。
*&---------------------------------------------------------------------*
*& Report ZDEMO_MENU_ENHANCEMENT
*&---------------------------------------------------------------------*
*& 菜單增強示例報表
*&---------------------------------------------------------------------*
REPORT ZDEMO_MENU_ENHANCEMENT.
TABLES: ZDEMO_ENHANCEMENT.
DATA: WA_ENHANCEMENT LIKE LINE OF ZDEMO_ENHANCEMENT.
START-OF-SELECTION.
SELECT * FROM ZDEMO_ENHANCEMENT INTO WA_ENHANCEMENT.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
IF SY-UCOMM = 'ZDEMO_ENHANCEMENT'.
CALL TRANSACTION 'ZDEMO_ENHANCEMENT'.
ENDIF.
ENDMODULE.
四、功能增強
在SAP系統中很多時候需要對標準功能進行擴展,以滿足業務需要,這時候就需要使用到功能增強功能,通過該功能可以在標準功能上增加自定義的功能邏輯。
*&---------------------------------------------------------------------*
*& Report ZDEMO_FUNCTION_ENHANCEMENT
*&---------------------------------------------------------------------*
*& 功能增強示例報表
*&---------------------------------------------------------------------*
REPORT ZDEMO_FUNCTION_ENHANCEMENT.
TABLES: ZDEMO_ENHANCEMENT.
DATA: WA_ENHANCEMENT LIKE LINE OF ZDEMO_ENHANCEMENT.
START-OF-SELECTION.
SELECT * FROM ZDEMO_ENHANCEMENT INTO WA_ENHANCEMENT.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form FUNCTION_ENHANCEMENT
*&---------------------------------------------------------------------*
FORM FUNCTION_ENHANCEMENT USING P_MATNR TYPE MATNR.
DATA: V_MATERIAL TYPE MARA-MATNR.
SELECT SINGLE MATNR INTO V_MATERIAL FROM MARA WHERE MATNR = P_MATNR.
IF SY-SUBRC = 0.
"進行業務邏輯操作
ENDIF.
ENDFORM.
五、BADI增強
在SAP系統中很多時候需要對標準程序進行擴展,以滿足業務需要,這時候就需要使用到BADI增強功能,通過該功能可以在標準程序中嵌入自定義的業務邏輯實現。
*&---------------------------------------------------------------------*
*& Report ZDEMO_BADI_ENHANCEMENT
*&---------------------------------------------------------------------*
*& BADI增強示例報表
*&---------------------------------------------------------------------*
REPORT ZDEMO_BADI_ENHANCEMENT.
TABLES: ZDEMO_ENHANCEMENT.
DATA: WA_ENHANCEMENT LIKE LINE OF ZDEMO_ENHANCEMENT.
START-OF-SELECTION.
SELECT * FROM ZDEMO_ENHANCEMENT INTO WA_ENHANCEMENT.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Object ZDEMO_BADI_IMPLE
*&---------------------------------------------------------------------*
CLASS ZDEMO_BADI_IMPLE DEFINITION.
PUBLIC SECTION.
INTERFACES: IF_EX_ZDEMO_BADI.
PRIVATE SECTION.
ENDCLASS.
*&---------------------------------------------------------------------*
*& Interface IF_EX_ZDEMO_BADI
*&---------------------------------------------------------------------*
INTERFACE IF_EX_ZDEMO_BADI.
METHODS: ENHANCEMENT.
ENDINTERFACE.
*&---------------------------------------------------------------------*
*& Class ZDEMO_BADI_IMPLE Implementation
*&---------------------------------------------------------------------*
CLASS ZDEMO_BADI_IMPLE IMPLEMENTATION.
METHOD IF_EX_ZDEMO_BADI~ENHANCEMENT.
* 進行自定義邏輯處理
ENDMETHOD.
ENDCLASS.
通過以上幾種方式的增強,我們可以大大提高SAP系統的使用效率,減少企業內部的工作量,進而得到更高的生產效益。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/295856.html
微信掃一掃
支付寶掃一掃