一、函數功能調用
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_interface_check = '' 接口一致性檢查
i_callback_program = sy-repid 當前程序名
is_layout = layout 輸出樣式
it_fieldcat = fieldcat[] 字段定義描述表
i_callback_pf_status_set = 'PF_STATUS_SET' 觸發事件調用子程序
i_callback_user_command = 'USER_COMMAND' 鼠標事件操作子程序
it_events = i_events[] 出口程序觸發事件
i_callback_html_top_of_page = 'ALV_TOP_OF_PAGE' ALV輸出表頭設置(面向對象實現)
i_callback_top_of_page = 'TOP_OF_PAGE' ALV輸出表頭設置(function實現)
i_grid_settings = wl_lvc_s_glay 打印表頭設置
it_sort = sortable[] 排序設置
i_save ='X' I_SAVE 參數有四個可選值 分別是 空(兩個功能都關閉,只能選擇更改不能保存)
X(只保留缺省默認的)
U(只保留特定用戶功能)
A(缺省默認和特定用戶都可以)
TABLES
t_outtab = ig_out
EXCEPTIONS
program_error = 1
OTHERS = 2.
二、Fieldcat屬性
data: fieldcat type slis_t_fieldcat_alv with header line.
it_fieldcat = fieldcat[]
屬性(用來定義表單中的各個列的相關信息)
Fieldcat-col_pos = n. 輸出列
Fieldcat-tabname = ‘FIELDNAME’. 對應的內表字段名
Fieldcat-seltext_s/m/l = ‘列名’. 輸出列文本(_s:短文本 _l:長文本)
Fieldcat-emphasize = ‘CX10’. 帶有顏色的高亮列(其中X=(1-7) 顏色同format)
(格式:格式:C+X(顏色:1~7)X(是否加深1/0 1深0淺)X(是否反色1/0-1字0底紋))
Fieldcat-hotspot = ‘X’. 作為熱點顯示可觸發鼠標觸發事件
Fieldcat-currency = ‘CURRKEY’. 表 TCURX 中的貨幣名稱
Fieldcat-quantity(3) 計量單位
Fieldcat-qfieldname 參考計量單位的字段名稱
Fieldcat-round = n. 四舍五入至小數位數下n 位
Fieldcat-exponent = n. 浮點數的冪指數為n
Fieldcat-key = ‘X’. 關鍵字段
Fieldcat-icon = ‘X’. 作為圖標輸出
Fieldcat-symbol = ‘X’. 輸出作為符號
Fieldcat-checkbox = ‘X’. 作為復選框輸出
Fieldcat-just = SPACE, 'R', 'L', 'C'. 對齊方式
Fieldcat-lzero = ‘X’. 輸出前導零
Fieldcat-no_sign = ‘X’. 輸出抑制符號
Fieldcat-no_zero = ‘X’. 為輸出隱藏零
Fieldcat-edit_mask = SPACE, mask.. 輸出為mask的模式
Fieldcat-fix_column = ‘X’. 固定列
Fieldcat-do_sum = ‘X’. 總計列值總和
Fieldcat-no_out = ‘X’. 列不輸出
Fieldcat-tech = ‘X’. 該字段為技術字段
Fieldcat-outputlen = n 列的字符寬度為n
Fieldcat-decimals_out = n 能控制小數點的位數為n
Fieldcat-datatype = C,I,N… 定義數據類型
三、Layout屬性
data: layout type slis_layout_alv .
is_layout = layout
屬性 (用於定義ALV表單的相關格式、屬性)
info_fieldname = 'LINE_COLOR'. 設置特殊行顏色(將LINE_COLOR增加到內表字段,寫'CX10'到特殊行的LINE_COLOR, X為顏色值)
colwidth_optimize = ‘X’. 優化列寬設置
no_colhead = 'X'. 不顯示列名
no_vline = 'X'. 不顯示列間豎線
zebra = 'X' 設置斑馬紋
f2code = '&ETA'. 設置觸發彈出詳細信息窗口的功能碼,這里是雙擊
no_vline 這個用來設置列間隔線
detail_initial_lines DETAILS時顯示字段為空的字段
detail_popup 是否彈出詳細信息窗口
detail_titlebar 設置彈出窗口的標題欄
totals_text
totals_only
group_change_edit
header_text
key_hotspot 設置主鍵的熱點,用於鼠標事件
box_fieldname 設置選擇按鈕,選中時賦值為"X"
confirmation_prompt 設置退出時,顯示提示框
四、sort排序
data: gt_sortable type slis_t_sortinfo_alv with header line.
it_sort = sortable[]
屬性
(排序)
Sortable-Fieldname = '字段名'. 按某個字段進行排序
Sortable-spos = '1'. . 多個字段排序時,設置排序的先后順序
Sortable-Up = 'X'. 升序排列
Sortable-Down = 'X'. 降序排列
Sortable-Subtot = 'X'. 進行“小計”
五、Filter過濾
DATA GT_FILTER TYPE SLIS_T_FILTRE_ALV.
DATA GS_FILTER TYPE SLIS_FILTRE_ALV.
IT-FILTER = GT_FILTER.
PERFORM BUILD_FILTER.
FORM BUILD_FILTER.
CLEAR GS_FILTER.
GS_FILTER-fieldname = 'sex'.設置篩選字段
GS_FILTER-sign0 = 'E'.設置E/I
GS_FILTER-optio = 'EQ'.設置EQ/NE
GS_FILTER-VALUF = ''.設置低值
GS_FILTER-VALUT = ''.設置高值
APPEND GS_FILTER TO GT_FILTER.
ENDFORM.
六、表頭設置
"——利用OO實現
i_callback_html_top_of_page = 'ALV_TOP_OF_PAGE'
form alv_top_of_page using cl_dd type ref to cl_dd_document.
"——利用function ALV 實現
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE' ALV輸出表頭設置
FORM TOP_OF_PAGE.
DATA: LT_LISTHEADER TYPE SLIS_T_LISTHEADER.
DATA:LS_LISTHEADER TYPE SLIS_LISTHEADER.
LS_LISTHEADER-TYP = 'H'.
LS_LISTHEADER-INFO = '表頭描述文本'.
APPEND LS_LISTHEADER TO LT_LISTHEADER .
LS_LISTHEADER-TYP = 'S'.
LS_LISTHEADER-KEY = '字段名稱或描述'.
LS_LISTHEADER-INFO = '字段值'.
APPEND LS_LISTHEADER TO LT_LISTHEADER .
LS_LISTHEADER-TYP = 'A'.
LS_LISTHEADER-INFO = '結尾斜體'.
APPEND LS_LISTHEADER TO LT_LISTHEADER .
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = LT_LISTHEADER
ENDFORM.
七、按鈕
DATA: i_events TYPE slis_t_event WITH HEADER LINE.
事件:
it_events = i_events[]
i_callback_pf_status_set = 'PF_STATUS_SET'
i_callback_user_command = 'USER_COMMAND'
出口程序觸發事件對應子程序:
FORM PF_STATUS_SET USING rt_extab TYPE slis_t_extab.
FORM user_command USING ucomm LIKE sy-ucomm selfield TYPE slis_selfield.
系統按鈕功能碼:
功能代碼: 函數文本: 圖標名稱:
&ETA 細節 ICON_SELECT_DETAIL
&EB9 調用報告... ICON_TABLE_SETTINGS
&REFRESH 刷新 ICON_REFRESH
&ALL 全部選擇 ICON_SELECT_ALL
&SAL 取消全選 ICON_DESELECT_ALL
&OUP 按升序排列 ICON_SORT_UP
&ODN 按降序排列 ICON_SORT_DOWN
&ILT 設置過濾器 ICON_FILTER
&UMC 總計 ICON_SUM
&SUM 小計... ICON_INTERMEDIATE_SUM
&RNT_PREV 打印預覽 ICON_LAYOUT_CONTROL
&VEXCEL Microsoft Excel ICON_XLS
&AQW 字處理... ICON_WORD_PROCESSING
%PC 本地文件 ... ICON_EXPORT
%SL 郵件收件人 ICON_MAIL
&ABC ABC 分析 ICON_ABC
&GRAPH 圖形 ICON_GRAPHICS
&OL0 更改布局... ICON_ALV_VARIANTS
&OAD 選擇格式... ICON_ALV_VARIANT_CHOOSE
&AVE 保存格式... ICON_ALV_VARIANT_SAVE
&INFO 信息 ICON_INFORMATION