1)定义ALV
type-pools slis. "调用类型组
data: myrepid like sy-repid. "程序为当前程序
data: i_layout type slis_layout_alv. "ALV显示格式内表
data: allfields type slis_t_fieldcat_alv. " ALV显示字段内表
data: i_fieldcat type line of slis_t_fieldcat_alv. "ALV字段信息结构
data: e_status type slis_formname value 'STANDARD_ER01'. "ALV自定义非标准按钮
myrepid = sy-repid.
2)ALV显示属性
i_layout-colwidth_optimize = 'X'. "自动调整列宽
i_layout-zebra = 'X'. "变换行颜色
2)ALV写法,有两种:
(1)法一,写成块形式
data: pos type i.
define alv_append_field. "定义模块
i_fieldcat-col_pos = pos. "列标志
i_fieldcat-fieldname = &1. "字段名
i_fieldcat-seltext_l = &2. "字段描述
i_fieldcat-no_zero = 'X'. "不显示值为0的数据和前导0
... "其它的fieldcat属性
append i_fieldcat to allfields. "写进显示字段内表
clear i_fieldcat.
pos = pos + 1. "下一列
end-of-definition.
refresh allfields.
pos = 1.
clear i_fieldcat.
alv_append_field 'FLDNAME' 'FLDTXT' .
(2)法二:标准形式
clear i_fieldcat.
i_fieldcat-fieldname = 'FLDNAME'. "字段名
i_fieldcat-seltext_l = 'FLDTXT'. "字段描述
i_fieldcat-no_zero = 'X'.
... "其它fieldcat属性
append i_fieldcat to allfields.
... "循环同上
3)调用ALV显示函数
call function 'REUSE_ALV_GRID_DISPLAY' "statt LIST
exporting
i_callback_program = myrepid
i_callback_pf_status_set = e_status "使用非标准按钮
is_layout = i_layout
i_CALLBACK_USER_COMMAND = 'USER_COMMAND' "非标准按钮动作
it_fieldcat = allfields "显示字段的内表
i_save = 'A' "是否打开保存
tables
t_outtab = itab " 内表名
exceptions
program_error = 1
others = 2.[@more@]
type-pools slis. "调用类型组
data: myrepid like sy-repid. "程序为当前程序
data: i_layout type slis_layout_alv. "ALV显示格式内表
data: allfields type slis_t_fieldcat_alv. " ALV显示字段内表
data: i_fieldcat type line of slis_t_fieldcat_alv. "ALV字段信息结构
data: e_status type slis_formname value 'STANDARD_ER01'. "ALV自定义非标准按钮
myrepid = sy-repid.
2)ALV显示属性
i_layout-colwidth_optimize = 'X'. "自动调整列宽
i_layout-zebra = 'X'. "变换行颜色
2)ALV写法,有两种:
(1)法一,写成块形式
data: pos type i.
define alv_append_field. "定义模块
i_fieldcat-col_pos = pos. "列标志
i_fieldcat-fieldname = &1. "字段名
i_fieldcat-seltext_l = &2. "字段描述
i_fieldcat-no_zero = 'X'. "不显示值为0的数据和前导0
... "其它的fieldcat属性
append i_fieldcat to allfields. "写进显示字段内表
clear i_fieldcat.
pos = pos + 1. "下一列
end-of-definition.
refresh allfields.
pos = 1.
clear i_fieldcat.
alv_append_field 'FLDNAME' 'FLDTXT' .
(2)法二:标准形式
clear i_fieldcat.
i_fieldcat-fieldname = 'FLDNAME'. "字段名
i_fieldcat-seltext_l = 'FLDTXT'. "字段描述
i_fieldcat-no_zero = 'X'.
... "其它fieldcat属性
append i_fieldcat to allfields.
... "循环同上
3)调用ALV显示函数
call function 'REUSE_ALV_GRID_DISPLAY' "statt LIST
exporting
i_callback_program = myrepid
i_callback_pf_status_set = e_status "使用非标准按钮
is_layout = i_layout
i_CALLBACK_USER_COMMAND = 'USER_COMMAND' "非标准按钮动作
it_fieldcat = allfields "显示字段的内表
i_save = 'A' "是否打开保存
tables
t_outtab = itab " 内表名
exceptions
program_error = 1
others = 2.[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/505541/viewspace-995759/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/505541/viewspace-995759/