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_POSALV 控制: 输出列 列位置,即从左到右的顺序。若为空,则按字段添加到内表中的顺序该字段可为空,如果为空,alv输出顺序按fcat字段顺序,KEY字段会提前到最左边
FIELDNAMEALV 控制: 内部表字段的字段名称字段名,对应输出内表的字段如果字段在内表中不存在,可能会导致系统异常
KEYALV 控制: 关键字段key值在左右滚动时不移动,蓝色显示如果没有设置COL_POS字段,KEY字段按顺序提前到最左边,即使KEY字段在FCAT的其他位置
ICONALV 控制: 作为图标输出TYPE-POOLS:ICONshowicon
SYMBOLALV 控制: 输出作为符号TYPE-POOLS:SYMshowsymb
CHECKBOXALV 控制: 作为复选框输出复选框标志
只有字段值为X时,复选框才会被设置为选中,空或者其它值时为不选中
 
JUSTALV 控制: 对齐空时:
字符默认左对齐:C/X/D/T/STRING/XSTRING
数值默认右对齐:I/F/P/N 
非空时:(R)ight/(L)eft/(C)enter
LZEROALV 控制: 输出前导零 N、NUMC类型的数据默认隐藏前导0,若要显示前导0,可设置此标识 
NO_SIGNALV 控制:输出抑制符号 I/F/P类型的数据,显示时隐藏负号:-
不影响内表数据【-100,则会显示为100,但内表里仍是-100】
不影响字符数据
NO_ZEROALV 控制: 为输出隐藏零当字段为数值为0时,不显示【如0,0.00,则会显示为空】
当字段包含前导0时,隐藏前导0,【如0100,则会显示为100】
 
NO_CONVEXTALV 控制: 不考虑输出的转换退出 不考虑输出的转换退出
使字段【CONVEXT】【EDIT_MASK】及【REF_TABLE/REF_FIELD】设置的转换失效
 
CONVEXIT转换例程对应域的转换例程【如MATN1】
常用来隐藏前导0或者WBS内外码的转换
CONVERSION_EXIT_ZDAY_INPUT
CONVERSION_EXIT_ZDAY_OUTPUT
EDIT_MASKALV 控制: 为输出编辑掩码 使用方式1:EDIT_MAST = '==MATN1' 为字段添加转换出口,效果与 CONVEXIT = 'MATN1'是相同的使用方式2: EDIT_MAST = '____年__月__日'用于将20111111输出时转换为2011年11月11日】
类似WRITE语法的 USING EDIT MASK '____年__月__日'
EMPHASIZEALV 控制: 带有颜色的高亮列整列级别的颜色控制,如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_COLUMNALV 控制: 固定列 与KEY字段类似,固定列但颜色不变蓝,必须要在左边才起作用(如果设置固定列的左边包含非固定列,则该列不固定) 
DO_SUMALV 控制: 总计列值 对数值类型(IFP)的字段进行汇总,汇总后可进行小计 
NO_SUMALV 控制: 没有总计列值 不允许对列进行汇总,点击汇总则提示错误消息该字段的作用是不允许用户进行汇总操作,如果设置了no_sum = x.该列进行汇总,汇总按钮失效
NO_OUTALV 控制: 列没有输出 隐藏列,设置为x:不输出该列 
TECHALV 控制: 技术字段 设置为X时,彻底隐藏,不能通过ALV布局调出来,与NO_OUT区别也在此 
OUTPUTLENALV 控制: 列的字符宽度指定字段的固定的输出宽度
若未指定参考,影响筛选界面字段宽度
优先级低:列宽(OUTPUTLEN)
优先级中:字段级优化列宽(COL_OPT)
优化级高:布局级优化列宽(CWIDTH_OPT)
同时设置时,优先级高的生效
SELTEXTALV 控制: 对话功能的列标识符 筛选界面字段名称影响的是点击筛选按钮时,弹出的选择屏幕中的字段描述
TOOLTIPALV 控制: 列抬头的工具提示鼠标放在列标题上的提示信息(默认是引用数据元素的标题)优先级最高
其次是 长/中/短描述
ROLLNAMEALV 控制: F1 帮助的数据元素 按F1时关联的数据元素,显示的是对应数据元素的文档信息如果字段没有指定文本信息,数据元素的描述信息会自动带过来
DATATYPEABAP 字典中的数据类型域中设置的数据类型,长度为4,
如:CURR、QUAN、CHAR、DATS、TIMS
不影响数据,只影响数据的输出效果(如对齐方式等)
INTTYPEABAP 数据类型(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组代码 特殊分组,可在修改布局界面,快速选择该分组 
HOTSPOTALV 控制: 单击敏感设置为带下划线热点,可触发热点、双击事件缺点是无法选中
F4AVAILABL字段有输入帮助吗X:f4帮助起作用,
space/空:不起作用
 
STYLEALV 控制: 样式设置为按钮、有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_FIELDALV 控制: 内部表字段的字段名称设置单元格级别的下拉列表内表添加字段HANDLE字段,如:DROP_field TYPE i
FCAT-DRDN_FIELD = 'DROP_FIELD'.(如果想控制在单元格级别,就不要设置DRDN_HNDL字段了)
如果每行数据的下拉列表不一致,比较字段A的输入影响列表,则可以在A的修改时触发DATA_CHANGED事件中设置下拉明细
NO_MERGING字符字段长度 1X,无合并,排序时,相同值的单元格不合并 
H_FTYPEALV 树控制: 功能类型 (总计,平均,最大.最小, ...)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_FIELDALV 控制: 内部表字段的参考字段名称 参考字段(引用属性包括:列标题、快捷信息、F4帮助鼠标放在列标题上,显示的是对应数据元素的长文本
如果字段宽度比较小,则会优先显示heading文本,将字段宽度拉长以后,显示的完整描述是中文本
REF_TABLEALV 控制: 内部表字段的参考表名称参考DDIC表/结构 
DECIMALS_OALV 控制: 输出小数位的编号如果字段不是数量、金额字段(未参考),可在此设置小数点位数 
COLTEXTALV 控制: 列标题 列标题,如果字段参考了DDIC,可不设置 
SCRTEXT_L长字段标签 覆盖DDIC数据元素长标签鼠标移动到标题上的时候提示的消息,如果长文本不存在且有参考数据库字段,则显示数据元素的长文本
SCRTEXT_M中字段标签 覆盖DDIC数据元素中标签如果长文本不存在,则显示中文本
SCRTEXT_S短字段标签 覆盖DDIC数据元素短标签如果中文本不存在,则显示短文本
COLDDICTXTALV 控制: 确定 DDIC 文本参考 S M L R代表引用参考数据元素的哪个标签 
SELDDICTXTALV 控制: 确定 DDIC 文本参考 S M L R代表引用参考数据元素的哪个标签 
TIPDDICTXTALV 控制: 确定 DDIC 文本参考 S M L R代表引用参考数据元素的哪个标签 
EDITALV 控制: 准备输入X:可编辑,space:不可编辑该控制是在整列的级别上,如果想控制仅仅某一行可编辑,则需要通过style来控制
### 回答1: reuse_alv_fieldcatalog_merge是一个ABAP函数模块,用于合并两个ALV字段目录。它可以将两个字段目录合并成一个,并且可以根据需要进行排序、删除重复项等操作。这个函数模块通常用于在ALV报表中显示数据时,对字段目录进行处理和优化。 ### 回答2: reuse_alv_fieldcatalog_merge是一个ABAP函数模块,用于合并两个ALV字段目录ALV字段目录是一个内部表,包含了对应于显示在ALV表格中的字段的元数据信息。它定义了字段的名称、类型、宽度、对齐方式、数据类型和编辑输出选项等。 这个函数模块的作用是将两个字段目录合并为一个字段目录。它将两个字段目录的内容逐行比较,并进行合并。如果字段名称相同,它将会合并其他属性,如类型、宽度等。如果字段名称不同,它将会将两个字段分别加到合并后的目录中。 使用这个函数模块可以方便地合并两个字段目录,并避免手动处理合并过程中的重复和冲突。 使用示例: DATA: lt_fieldcat1 TYPE TABLE OF lvc_s_fcat, lt_fieldcat2 TYPE TABLE OF lvc_s_fcat, lt_merged_fieldcat TYPE TABLE OF lvc_s_fcat. lt_fieldcat1 = ... "填充第一个字段目录 lt_fieldcat2 = ... "填充第二个字段目录 CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING it_fieldcatalog1 = lt_fieldcat1 it_fieldcatalog2 = lt_fieldcat2 IMPORTING et_fieldcatalog = lt_merged_fieldcat. 现在,lt_merged_fieldcat中包含了合并后的字段目录,可以用于创建或修改一个ALV表格的显示。 ### 回答3: reuse_alv_fieldcatalog_merge是一个在ABAP程序中用于合并两个ALV Field Catalog的函数模块。它的作用是将两个Field Catalog合并成一个,以便在ALV报表中使用。 要使用reuse_alv_fieldcatalog_merge,首先需要定义两个ALV Field Catalog,然后将它们作为输入参数传递给该函数模块。当函数模块被调用时,它会将两个Field Catalog合并成一个,并返回合并后的Field Catalog。 函数模块会将两个Field Catalog中的字段和属性进行合并。如果两个Field Catalog中存在相同的字段,则它们的属性会根据合并规则进行相应的处理。例如,如果两个Field Catalog中都定义了同一个字段的标题(field catalog的字段名称),则可以选择保留某一个Field Catalog的标题,或者合并两个标题。 使用reuse_alv_fieldcatalog_merge可以方便地将两个Field Catalog合并在一起,以便在ALV报表中显示所需的字段和属性。合并后的Field Catalog可以后续用于生成ALV报表的列设置和字段显示。这可以大大简化ABAP程序的开发工作,提高开发效率。 总之,通过reuse_alv_fieldcatalog_merge函数模块,我们可以在ABAP程序中快速、简便地合并两个ALV Field Catalog,以便在ALV报表中使用。这有助于更好地展示和处理数据,并提高ABAP程序的可读性和实用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值