ALV字段目录lvc_s_fcat


控制ALV界面的主要是字段目录,对应的结构是LVC_S_FCAT/LVC_T_FCAT,如果是调用不带LVC后缀的函数,则对应的是SLIS_FIELDCAT_ALV/SLIS_T_FIELDCAT_ALV 两套参数可以通过函数相互转换,如果需要的话,可以调用如下两个函数 LVC_TRANSFER_TO_SLIS LVC_TRANSFER_FROM_SLIS 相关的函数在函数组SLVC中,有兴趣的可以进去看看   下面是我有项目中用到过的、或者研究过的字段属性
字段名 字段描述 功能 备注
COL_POS ALV 控制: 输出列  列位置,即从左到右的顺序。若为空,则按字段添加到内表中的顺序 该字段可为空,如果为空,alv输出顺序按fcat字段顺序,KEY字段会提前到最左边
FIELDNAME ALV 控制: 内部表字段的字段名称 字段名,对应输出内表的字段 如果字段在内表中不存在,可能会导致系统异常
KEY ALV 控制: 关键字段 key值在左右滚动时不移动,蓝色显示 如果没有设置COL_POS字段,KEY字段按顺序提前到最左边,即使KEY字段在FCAT的其他位置
ICON ALV 控制: 作为图标输出 TYPE-POOLS:ICON showicon
SYMBOL ALV 控制: 输出作为符号 TYPE-POOLS:SYM showsymb
CHECKBOX ALV 控制: 作为复选框输出 复选框标志
只有字段值为X时,复选框才会被设置为选中,空或者其它值时为不选中
 
JUST ALV 控制: 对齐 空时:
字符默认左对齐:C/X/D/T/STRING/XSTRING
数值默认右对齐:I/F/P/N 
非空时:(R)ight/(L)eft/(C)enter
LZERO ALV 控制: 输出前导零  N、NUMC类型的数据默认隐藏前导0,若要显示前导0,可设置此标识  
NO_SIGN ALV 控制:输出抑制符号  I/F/P类型的数据,显示时隐藏负号:-
不影响内表数据【-100,则会显示为100,但内表里仍是-100】
不影响字符数据
NO_ZERO ALV 控制: 为输出隐藏零 当字段为数值为0时,不显示【如0,0.00,则会显示为空】
当字段包含前导0时,隐藏前导0,【如0100,则会显示为100】
 
NO_CONVEXT ALV 控制: 不考虑输出的转换退出  不考虑输出的转换退出
使字段【CONVEXT】【EDIT_MASK】及【REF_TABLE/REF_FIELD】设置的转换失效
 
CONVEXIT 转换例程 对应域的转换例程【如MATN1】
常用来隐藏前导0或者WBS内外码的转换
CONVERSION_EXIT_ZDAY_INPUT
CONVERSION_EXIT_ZDAY_OUTPUT
EDIT_MASK ALV 控制: 为输出编辑掩码  使用方式1:EDIT_MAST = '==MATN1' 为字段添加转换出口,效果与 CONVEXIT = 'MATN1'是相同的 使用方式2: EDIT_MAST = '____年__月__日'用于将20111111输出时转换为2011年11月11日】
类似WRITE语法的 USING EDIT MASK '____年__月__日'
EMPHASIZE ALV 控制: 带有颜色的高亮列 整列级别的颜色控制,如C100
第一位C(olor)
第二位 1/2/3/4/5/6/7
1 gray-blue:灰蓝色
2 light gray:浅灰色(ALV默认颜色)
3 yellow:黄色
4 blue-green:蓝绿色
5 green:绿色
6 red:红色
7 orange:橙色的
第三位(1/0)
0:颜色不加强(第四位起作用)
1:颜色加强(背景,第四位不起作用)
第四位(1/0)
0:背景颜色
1:字体颜色
如果想要在数据行级别、甚至单元格级别设置颜色,整列级别设置颜色就无法实现了,这时就需要在数据内表(itab)中添加对应的字段
rowcolor  TYPE char4,      "行颜色设置
cellcolor TYPE lvc_t_scol,  "单元格颜色设置
通过内表数据来控制行、单元格颜色
行颜色的控制与列颜色类似,用四位字符控制
单元格颜色控制
FNAME 设置颜色的字段名
COLOR 的三个字段分别对应
    -COL 第二位
    -INT 第三位
    -INV 第四位
FIX_COLUMN ALV 控制: 固定列  与KEY字段类似,固定列但颜色不变蓝,必须要在左边才起作用(如果设置固定列的左边包含非固定列,则该列不固定)  
DO_SUM ALV 控制: 总计列值  对数值类型(IFP)的字段进行汇总,汇总后可进行小计  
NO_SUM ALV 控制: 没有总计列值  不允许对列进行汇总,点击汇总则提示错误消息 该字段的作用是不允许用户进行汇总操作,如果设置了no_sum = x.该列进行汇总,汇总按钮失效
NO_OUT ALV 控制: 列没有输出  隐藏列,设置为x:不输出该列  
TECH ALV 控制: 技术字段  设置为X时,彻底隐藏,不能通过ALV布局调出来,与NO_OUT区别也在此  
OUTPUTLEN ALV 控制: 列的字符宽度 指定字段的固定的输出宽度
若未指定参考,影响筛选界面字段宽度
优先级低:列宽(OUTPUTLEN)
优先级中:字段级优化列宽(COL_OPT)
优化级高:布局级优化列宽(CWIDTH_OPT)
同时设置时,优先级高的生效
SELTEXT ALV 控制: 对话功能的列标识符  筛选界面字段名称 影响的是点击筛选按钮时,弹出的选择屏幕中的字段描述
TOOLTIP ALV 控制: 列抬头的工具提示 鼠标放在列标题上的提示信息(默认是引用数据元素的标题) 优先级最高
其次是 长/中/短描述
ROLLNAME ALV 控制: F1 帮助的数据元素  按F1时关联的数据元素,显示的是对应数据元素的文档信息 如果字段没有指定文本信息,数据元素的描述信息会自动带过来
DATATYPE ABAP 字典中的数据类型 域中设置的数据类型,长度为4,
如:CURR、QUAN、CHAR、DATS、TIMS
不影响数据,只影响数据的输出效果(如对齐方式等)
INTTYPE ABAP 数据类型(C,D,N,...) 预定义的数据类型:c/x/d/t/i/f/p/n 数值-1,inttype = c,NO_SIGN不起作用,输出-1
INTLEN 以字节计的内部长度  对应数据类型的长度 影响输出效果,如:对齐方式等
LOWERCASE 允许/不允许小写字母  X:区分大小写/空:不区分(小写自动转换为大写) 主要影响数据的录入,当通过ALV输入数据的时候,如果未设置该标识,则输入小写字母如abc时,系统自动转换为ABC
主键字段一般都是大写,主要是文本、描述字段时需要注意
REPTEXT 标题 覆盖DDIC数据元素标题标签  
SP_GROUP 组代码  特殊分组,可在修改布局界面,快速选择该分组  
HOTSPOT ALV 控制: 单击敏感 设置为带下划线热点,可触发热点、双击事件 缺点是无法选中
F4AVAILABL 字段有输入帮助吗 X:f4帮助起作用,
space/空:不起作用
 
STYLE ALV 控制: 样式 设置为按钮、有F4、无F4、热点
此处的STYLE的控制时列级别的,如果需要在单元格级别设置字段级STYLE,同样需要在内表中添加字段来控制
style    TYPE lvc_t_styl,  "字段格式设置
注意该内表是排序表,添加数据时使用INSERT语法,用APPEND容易出错
查询CL_GUI_ALV_GRID的属性,
MC_STYLE_BUTTON
MC_STYLE_DISABLED
MC_STYLE_ENABLED
MC_STYLE_F4
MC_STYLE_F4_NO
MC_STYLE_HOTSPOT
MC_STYLE_HOTSPOT_NO
MC_STYLE_NO_DELETE_ROW
DRDN_HNDL 自然数  设置整列为下拉列表 在FCAT中设置该字段,如1
使用方法set_drop_down_table初始化下拉列表内容
DRDN_FIELD ALV 控制: 内部表字段的字段名称 设置单元格级别的下拉列表 内表添加字段HANDLE字段,如:DROP_field TYPE i
FCAT-DRDN_FIELD = 'DROP_FIELD'.(如果想控制在单元格级别,就不要设置DRDN_HNDL字段了)
如果每行数据的下拉列表不一致,比较字段A的输入影响列表,则可以在A的修改时触发DATA_CHANGED事件中设置下拉明细
NO_MERGING 字符字段长度 1 X,无合并,排序时,相同值的单元格不合并  
H_FTYPE ALV 树控制: 功能类型 (总计,平均,最大.最小, ...) DO_SUM 和该字段组合使用,用于设置默认的汇总方式:总计SUM 平均值AVG 最大值MAX 最小值MIN
ALV中不起作用
该字段不设置,则为总计SUM
CL_GUI_ALV_TREE中使用
如果修改某叶子节点值(非叶子节点值自动计算累加),需要刷新父节点时,调用方法update_calculations
COL_OPT 可选列优化的条目  字段级别的优化宽度,会覆盖指定宽度
ALV_TREE中不起作用,ALV_TREE需要手动调用方法来实现字段的优化列宽
X 代表第一次交互时
A 代表一直优化 Optimization Is Kept Always
空代表不优化
DRDN_ALIAS 字符字段长度 1 当下拉列表是带有文本描述的时候,需要指定该字段为x,否则会导致数据类型错误 X:返回值为INT_VALUE
SPACE:返回值为VALUE,即文本描述
REF_FIELD ALV 控制: 内部表字段的参考字段名称  参考字段(引用属性包括:列标题、快捷信息、F4帮助 鼠标放在列标题上,显示的是对应数据元素的长文本
如果字段宽度比较小,则会优先显示heading文本,将字段宽度拉长以后,显示的完整描述是中文本
REF_TABLE ALV 控制: 内部表字段的参考表名称 参考DDIC表/结构  
DECIMALS_O ALV 控制: 输出小数位的编号 如果字段不是数量、金额字段(未参考),可在此设置小数点位数  
COLTEXT ALV 控制: 列标题  列标题,如果字段参考了DDIC,可不设置  
SCRTEXT_L 长字段标签  覆盖DDIC数据元素长标签 鼠标移动到标题上的时候提示的消息,如果长文本不存在且有参考数据库字段,则显示数据元素的长文本
SCRTEXT_M 中字段标签  覆盖DDIC数据元素中标签 如果长文本不存在,则显示中文本
SCRTEXT_S 短字段标签  覆盖DDIC数据元素短标签 如果中文本不存在,则显示短文本
COLDDICTXT ALV 控制: 确定 DDIC 文本参考  S M L R代表引用参考数据元素的哪个标签  
SELDDICTXT ALV 控制: 确定 DDIC 文本参考  S M L R代表引用参考数据元素的哪个标签  
TIPDDICTXT ALV 控制: 确定 DDIC 文本参考  S M L R代表引用参考数据元素的哪个标签  
EDIT ALV 控制: 准备输入 X:可编辑,space:不可编辑 该控制是在整列的级别上,如果想控制仅仅某一行可编辑,则需要通过style来控制
  引用:http://blog.sina.com.cn/s/blog_4e8260760102yljs.html
ALV