1.使用宏方式,如下:
DEFINE ADD_FIELD.
I_FIELDCAT-TABNAME = &2.
I_FIELDCAT-FIELDNAME = &1.
I_FIELDCAT-SELTEXT_M = &4.
I_FIELDCAT-OUTPUTLEN = &3.
I_FIELDCAT-INPUT = &5.
I_FIELDCAT-HOTSPOT = P_CHAR.
APPEND I_FIELDCAT.
END-OF-DEFINITION.
DEFINE DISPLAY_DATA.
******启动命令功能********************************
REFRESH I_EVENTS.
CALL FUNCTION ‘REUSE_ALV_EVENTS_GET’
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = I_EVENTS.
READ TABLE I_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND
INTO L_LS_EVENT.
IF SY-SUBRC = 0.
MOVE SLIS_EV_USER_COMMAND TO L_LS_EVENT-FORM.
APPEND L_LS_EVENT TO I_EVENTS.
ENDIF.
********功能扩充**********************************
I_LAYOUT-ZEBRA = ‘X’. “颜色交替显示
I_LAYOUT-WINDOW_TITLEBAR = L_WINDOW_TITLEBAR. “抬头显示
I_LAYOUT-COLWIDTH_OPTIMIZE = ‘X’. “优化
I_LAYOUT-GROUP_CHANGE_EDIT = ‘X’.
I_LAYOUT-F2CODE = &2.
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_SAVE = ‘X’
IS_VARIANT = G_VARIANT
I_GRID_TITLE = TITLE “抬头
IT_HYPERLINK = GT_HYPETAB
IT_EVENTS = I_EVENTS “事件
IT_FIELDCAT = I_FIELDCAT[] “显示的内容和描述
IS_LAYOUT = I_LAYOUT
TABLES
T_OUTTAB = &1 “数据表
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
END-OF-DEFINITION.
FORM DISPLAY_DATA .
SORT ITAB BY ZDCNUM EBELN EBELP.
ADD_FIELD : ‘ZDCNUM’ ‘ITAB’ 20 ‘运编号’ ‘ ‘,
‘EBELN’ ‘ITAB’ 20 ‘采购单号’ ‘ ‘,
‘EBELP’ ‘ITAB’ 10 ‘采购单项次’ ‘ ‘,
‘VOLEH’ ‘ITAB’ 12 ‘数量单位’ ‘ ‘,
‘MATNR’ ‘ITAB’ 20 ‘料号’ ‘ ‘,
‘GEWEI’ ‘ITAB’ 12 ‘重量单位’ ‘ ‘,
‘ERVOE’ ‘ITAB’ 12 ‘体积单位’ ‘ ‘,
‘WERKS’ ‘ITAB’ 12 ‘工厂’ ‘ ‘,
‘VOLUM’ ‘ITAB’ 12 ‘数量’ ‘ ‘,
‘NTGEW’ ‘ITAB’ 12 ‘净重’ ‘ ‘,
‘BRGEW’ ‘ITAB’ 12 ‘毛重’ ‘ ‘,
‘ERVOL’ ‘ITAB’ 12 ‘体积’ ‘ ‘.
DISPLAY_DATA ITAB ”.
ENDFORM.
2.
FORM DISPLAY_DATADETAILS .
PERFORM FILL_FIELD_CATALOG_TABLE USING :
‘AUFNR’ ‘ITAB5’ 12 ‘工單’ ‘ ‘ ‘ ‘,
‘ERDAT’ ‘ITAB5’ 8 ‘建立日期’ ‘ ‘ ‘ ‘,
‘IDAT2’ ‘ITAB5’ 4 ‘結案日期’ ‘ ‘ ‘ ‘,
‘PMATNR’ ‘ITAB5’ 10 ‘料號’ ‘ ‘ ‘ ‘,
‘PWERK’ ‘ITAB5’ 4 ‘工廠’ ‘ ‘ ‘ ‘,
‘PLGORT’ ‘ITAB5’ 4 ‘庫位’ ‘ ‘ ‘ ‘,
‘PSMNG’ ‘ITAB5’ 8 ‘生產數量’ ‘ ‘ ‘ ‘,
‘WEMNG’ ‘ITAB5’ 8 ‘已繳數量’ ‘ ‘ ‘ ‘,
‘PROJN’ ‘ITAB5’ 10 ‘WBS號’ ‘ ‘ ‘ ‘,
‘KDAUF’ ‘ITAB5’ 10 ‘SO號’ ‘ ‘ ‘ ‘,
‘KDPOS’ ‘ITAB5’ 4 ‘SO項次’ ‘ ‘ ‘ ‘,
‘MATNR1’ ‘ITAB5’ 10 ‘發料料號’ ‘ ‘ ‘ ‘,
‘WERKS’ ‘ITAB5’ 8 ‘發料工廠’ ‘ ‘ ‘ ‘,
‘LGORT1’ ‘ITAB5’ 8 ‘發料單位’ ‘ ‘ ‘ ‘,
‘ERFMG’ ‘ITAB5’ 8 ‘應發數量’ ‘ ‘ ‘ ‘,
‘ENMNG’ ‘ITAB5’ 8 ‘已發數量’ ‘ ‘ ‘ ‘,
‘ERFMG1’ ‘ITAB5’ 8 ‘發料差異’ ‘ ‘ ‘ ‘,
‘KAINS’ ‘ITAB5’ 10 ‘呂質檢驗數量’ ‘ ‘ ‘ ‘,
‘MATNR2’ ‘ITAB5’ 8 ‘處理建議’ ‘ ‘ ‘ ‘.
PERFORM CALL_ALV_FUNCTIONDETAILS .
ENDFORM. ” DISPLAY_DATA
FORM FILL_FIELD_CATALOG_TABLE USING F T O D H TL .
DATA L_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
CLEAR L_FIELDCAT.
STATICS POS LIKE SY-INDEX VALUE 20.
POS = POS + 1.
CLEAR T_FLD.
MOVE 1 TO T_FLD-ROW_POS.
MOVE POS TO T_FLD-COL_POS.
MOVE F TO L_FIELDCAT-FIELDNAME.
MOVE T TO L_FIELDCAT-TABNAME.
MOVE O TO L_FIELDCAT-OUTPUTLEN.
MOVE D TO L_FIELDCAT-SELTEXT_M.
MOVE H TO L_FIELDCAT-HOTSPOT.
MOVE TL TO L_FIELDCAT-DO_SUM.
APPEND L_FIELDCAT TO FIELDCAT.
ENDFORM. ” FILL_FIELD_CATALOG_TABLE
FORM CALL_ALV_FUNCTIONDETAILS .
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
IT_FIELDCAT = FIELDCAT
TABLES
T_OUTTAB = ITAB5.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. ” CALL_ALV_FUNCTION
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/18256.html