大家好
今天是ALV介紹的最後一集,
上一集處理完資料與內表,
今天要來處理ALV 報表的顯示,
data:fields_tb type slis_t_fieldcat_alv with header line, " 定義內表用來存儲欄位目錄
gs_layout type slis_layout_alv. " 定義 ALV 的佈局設置
這邊要先來定義等等alv顯示要用到的變數
define: set_alv_field.
clear: fields_tb.
fields_tb-fieldname = &1.
fields_tb-ref_fieldname = &2.
fields_tb-ref_tabname = &3.
fields_tb-no_out = &4.
fields_tb-no_zero = &5.
if &5 = 'X'.
fields_tb-decimals_out = 0.
endif.
fields_tb-no_zero = &5.
fields_tb-fix_column = &6 .
fields_tb-outputlen = &7.
fields_tb-seltext_l = &8.
fields_tb-seltext_m = &8.
fields_tb-seltext_s = &8.
fields_tb-emphasize = 'C300'.
append fields_tb.
end-of-definition.
宏是 ABAP 編程中的一種結構化方式,允許開發人員在程式中多次使用相同的代碼,而不必反復撰寫。宏定義通常用於簡化重複的任務,例如填充表格、處理資料等。
因為ALV報表中要設定屬性的欄位有時候比較多,
用宏的話可以減少冗於的代碼。
set_alv_field 'MATNR' '' '' '' '' '' '18' 'Material'.
set_alv_field 'WERKS' '' '' '' '' '' '4' 'Plant'.
set_alv_field 'DAYS' '' '' '' '' '' '4' 'Stock age '.
這段代碼意思就是填入我們要的屬性像是欄位名稱(內表中的)、長度、欄位標題等
最後就可以使用SAP標準的ALV Function
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = fields_tb " 欄位目錄
is_layout = gs_layout " ALV 佈局
TABLES
t_outtab = t_itab. " 顯示的資料
以上就是今天分享的內容