ABAP:ALV
ALV是系统的一种网格的显示方式,这种方式带有汇总/排序/筛选等功能,ALV格式的数据是以单元格为单位显示,不象一般的写屏方式拷出来或是导出成文件不同列的内容粘在一块,这种方式便于数据导出来放在电子表格里进行加工.
slis_t_fieldcat_alv是表内字段的整体,slis_fieldcat_alv是某一个字段的内容,将字段的内容写到slis_fieldcat_alv中,然后append到slis_t_fieldcat_alv,后者是整个列表的标题,在显示的时候用到。
slis_fieldcat_alv中的部分字段及意义:fieldname是对应内表中哪个字段,必须。seltext_s/m/l是标题的名字,(一个即可)必须。col_pos表示所在位置,是第一列还是第二列。。intlen表示可以筛选的长度,如果不输得话有可能在筛选的时候显示不够长。hotsot = 'x'表示可以点它来显示次表。
slis_t_event是event的整体可看作event的集合,感觉可以用来写表头。。slis_alv_event是某个event,需要将slis_alv_event append到slis_t_event.它可以包含图片和listheader等,也就是说listheader等是靠event来显示的。
slis_t_listheader是listheader的集合,slis_listheader是某个listheader。将slis_listheader赋值后append到slis_t_listheader中。它是内表的表头
slis_listheader 包含:typ :H = header,S = Selection,A = action. key :是和s对应的,是那个的标题吧. info:可以是变量和赋值的。跟在key的标题后面,是个表达值
函数:reuse_alv_events_get:将各个事件的名字写到slis_t_event的name中。这样,可以在后面,根据名字的不同,对不同的event付不同的form,来实现不同功能。
fieldcat属性
col_pos 输出列
tabname 标签名称
currency(5) 货币单位
quantity(3) 计量单位
qfieldname 参考计量单位的字段名称
round ROUND 值
exponent(3) 流动表示的指数
key(1) 关键字段
icon(1) 作为图标输出
symbol(1) 输出作为符号
checkbox(1) 作为复选框输出
just(1) 对齐
lzero(1) 输出前导零
no_sign(1) 输出抑制符号
no_zero(1) 为输出隐藏零
edit_mask 为输出编辑掩码
emphasize(4) 带有颜色的高亮列
fix_column(1) 固定列
do_sum(1) 总计列值
no_out(1) 列没有输出
tech(1) 技术字段
outputlen 列的字符宽度
decimals_out 能控制小数点的位数
这里面很多都是最后一个对后面的都有影响。。。比如你想固定左边的前3列那么在第一列的key = 'x'.然后在要在第四列处key = ' '.这样前3列固定了(只能在grid类型下使用?)