ALV中的fieldcat常⽤字段属性选项⼤全
字段⽬录是⽤来控制ALV显⽰的⽹格中每个字段的属性的,⽐如字段的顺序,对齐⽅式,可编辑状态,颜⾊,等等.常⽤的字段如下:
row_pos: 默认值为0,可选值为1、2、3,既最⼤分3级别显⽰
fieldname 字段的名字(内表中定义的字段名)
ref_field (ALV 控制: 内部表字段的参考字段名称) 参考的数据字典的字段名,配合ref_tabname⼀起使⽤,⼀般⽤来使单元格⽣成F4帮助
ref_table (ALV 控制: 内部表字段的参考表名称) 参考数据字典的表名,配合ref_fieldname使⽤
fieldname ALV 控制: 内部表字段的字段名称TABNAME LVC 标签名称
Cfieldname currency unit field name值为当前输出内表中的货币单位字段的字段名称
Ctabname Cfieldname字段值对应的输出内表
Qfieldname 计量单位字段名,例如如值EA对应的字段名
Qtabname Qfieldname 对应的输出内表名
COLTEXT ALV 控制: 列标题
key 字段是否为关键字(X或空)
checkbox 复选框形式(X或空)
ICON 作为图标输出,在ALV输出内表中的字段内容必须是有效的图标名称,图标名称和ID存在数据字典中ICON表中。OUTPUTLEN ALV 控制: 列的字符宽度
edit 当前列可编辑
emphasize 设置列的颜⾊。取值格式C(1-7)(0-1)(0-1)当有字段的edit属性⽣效时,会与该参数值想冲突。
edit_mask 同write语句中的edit mask格式是⼀样的,⼀般⽤来格式化时间和⽇期等
col_pos 字段的位置
no_out 当前列隐藏输出
just 对齐⽅式(取值为R,L,C)
lzero 输出前导零(X或空),仅NUMC类型字段有效
no_zero 如果取值为零,则为空,既不输出零。
do_sum 对当前列输出时⾃动求和
scrtext_l 字段的⽂本描述,输出时候显⽰。长描述
scrtext_m 字段的⽂本描述,输出时候显⽰。中描述
scrtext_s 字段的⽂本描述,输出时候显⽰。短描述
lowerca 是否允许⼩写字母(X)
decimals 输出⼩数点后⾯位数
hotspot 当前列设置为热点敏感、单机响应
fix_column 固定列,不随滚动条滚动(必须在左边才⽣效)
Key_l 这个参数只和设置了key的字段相关,和key⼀起使⽤,可以交互式的隐藏设置为KEY的字段(alv_list有效)
tech 技术字段,设置’X’后,该字段不会显⽰,也不能输出,如同MANDT字段⼀样的效果
symbol 作为Symbol符号输出,在ALV输出内表中的字段值可以是ABAP名称,如SYM_FILLED_SQUARE(常量,不能使⽤引号),也可以是ID,如’%’,并且在报表中要使⽤include <LIST>语句.参考程序:RSTXSYMB
no_sign 不输出正负号+、-
reptext_ddic 与数据元素的主标题类似
ddictxt 可选值为S,M,L,指定列标题为长描述,中描述,还是短描述,该值定义后,列标题的显⽰内容将固定.
以上fieldcat参数对于REUSE_ALV_LIST_DISPLAY和REUSE_ALV_GRID_DISPLAY⽣效。
调⽤功能模块:
CALL FUNCTION \'REUSE_ALV_GRID_DISPLAY\'
EXPORTING
i_structure_name = 'SPFLI' //输出表的结构
i_interface_check = \'\' 接⼝⼀致性检查
i_callback_program = sy-repid 当前程序名
is_layout = layout 输出样式
it_fieldcat = fieldcat[] 字段定义描述表
i_callback_pf_status_t = \'PF_STATUS_SET\' 触发事件调⽤⼦程序
i_callback_ur_command = \'USER_COMMAND\' ⿏标事件操作⼦程序
it_events = i_events[] 出⼝程序触发事件
i_callback_html_top_of_page = \'ALV_TOP_OF_PAGE\' ALV输出表头设置
i_grid_ttings = wl_lvc_s_glay 打印表头设置
it_sort = sortable[] 排序设置
TABLES
t_outtab = ig_out
EXCEPTIONS
program_error = 1
OTHERS = 2.
常⽤属性:(赋值’’中内容必须为⼤写)
1. Fieldcat
data: fieldcat type slis_t_fieldcat_alv with header line.
it_fieldcat = fieldcat[]
属性
(⽤来定义表单中的各个列的相关信息)
Fieldcat-col_pos = n. 输出列
Fieldcat-tabname = ‘FIELDNAME’. 对应的内表字段名
油辣椒的做法
Fieldcat-ltext_s/m/l = ‘列名’. 输出列⽂本( _s:短⽂本 _l:长⽂本)
Fieldcat-emphasize = ‘CX10’. 带有颜⾊的⾼亮列(其中X=(1-7)颜⾊同format) Fieldcat-hotspot = ‘X’. 作为热点显⽰可触发⿏标触发事件
Fieldcat-currency = ‘CURRKEY’. 表 TCURX 中的货币名称
Fieldcat-quantity(3) 计量单位
Fieldcat-qfieldname 参考计量单位的字段名称
Fieldcat-round = n. 四舍五⼊⾄⼩数位数下n 位
Fieldcat-exponent = n. 浮点数的幂指数为n
Fieldcat-key = ‘X’. 关键字段
Fieldcat-icon = ‘X’. 作为图标输出
Fieldcat-symbol = ‘X’. 输出作为符号
Fieldcat-checkbox = ‘X’. 作为复选框输出
Fieldcat-just = SPACE, \'R\', \'L\', \'C\'. 对齐⽅式
Fieldcat-lzero = ‘X’. 输出前导零
Fieldcat-no_sign = ‘X’. 输出抑制符号
Fieldcat-no_zero = ‘X’. 为输出隐藏零
Fieldcat-edit_mask = SPACE, mask.. 输出为mask的模式
Fieldcat-fix_column = ‘X’. 固定列
Fieldcat-do_sum = ‘X’. 总计列值总和
Fieldcat-no_out = ‘X’. 列不输出
Fieldcat-tech = ‘X’. 该字段为技术字段
Fieldcat-outputlen = n 列的字符宽度为n
Fieldcat-decimals_out = n 能控制⼩数点的位数为n
Fieldcat-datatype = C,I,N… 定义数据类型
2. SORT
data: sortable type slis_t_sortinfo_alv with header line.
it_sort = sortable[]
字段名排序
Sortable-Fieldname Up 升序排列
交通事故处理流程Down 降序排列
Subtot 合计
3. Layout
data: layout type slis_layout_alv .
is_layout = layout
属性 (⽤于定义ALV表单的相关格式、属性)
info_fieldname = \'LINE_COLOR\'. 设置特殊⾏颜⾊(将LINE_COLOR增加到内表字段,写\'CX10\'到特殊⾏的LINE_COLOR, X为颜⾊值)
colwidth_optimize = ‘X’. 优化列宽设置
no_colhead = \'X\'. 不显⽰列名
no_vline = \'X\'. 不显⽰列间竖线
zebra
f2code = \'&ETA\'. 设置触发弹出详细信息窗⼝的功能码,这⾥是双击
no_vline 这个⽤来设置列间隔线
detail_initial_lines
消炎胶囊detail_popup 是否弹出详细信息窗⼝
detail_titlebar 设置弹出窗⼝的标题栏
totals_text
totals_only
group_change_edit
header_text
4.按钮
DATA: i_events TYPE slis_t_event WITH HEADER LINE.
事件:
it_events = i_events[]
i_callback_pf_status_t = \'PF_STATUS_SET\'
i_callback_ur_command = \'USER_COMMAND\'
出⼝程序触发事件对应⼦程序:
FORM PF_STATUS_SET USING rt_extab TYPE slis_t_extab.
FORM ur_command USING ucomm LIKE sy-ucomm lfield TYPE slis_lfield.
功能代码: 函数⽂本: 图标名称:
&ETA 细节 ICON_SELECT_DETAIL疏散距离
&EB9 调⽤报告... ICON_TABLE_SETTINGS
&REFRESH 刷新 ICON_REFRESH
&ALL 全部选择 ICON_SELECT_ALL
&SAL 取消全选 ICON_DESELECT_ALL
&OUP 按升序排列 ICON_SORT_UP
&ODN 按降序排列 ICON_SORT_DOWN
&ILT 设置过滤器 ICON_FILTER
&UMC 总计 ICON_SUM
&SUM ⼩计... ICON_INTERMEDIATE_SUM
&RNT_PREV 打印预览 ICON_LAYOUT_CONTROL
&VEXCEL Microsoft Excel ICON_XLS
&AQW 字处理... ICON_WORD_PROCESSING
韩国壁纸%PC 本地⽂件 ... ICON_EXPORT
%SL 邮件收件⼈ ICON_MAIL
&ABC ABC 分析 ICON_ABC
&GRAPH 图形 ICON_GRAPHICS
&OL0 更改布局... ICON_ALV_VARIANTS
&OAD 选择格式... ICON_ALV_VARIANT_CHOOSE
&AVE 保存格式... ICON_ALV_VARIANT_SAVE你那么爱她
&INFO 信息 ICON_INFORMATION
1. ALV表头设置
i_callback_html_top_of_page = \'ALV_TOP_OF_PAGE\'
form top_of_page using cl_dd type ref to cl_dd_document.
语法同HTML fomat
ALV ―― ABAP LIST VIEWER的缩写,这⾥我姑且称之为ABAP表单浏览器,⽤它可以标准化,简单化R/3系统中的表单,它可以提供给⽤户⼀个统⼀的表单格式以及⽤户接⼝。
ALV即能显⽰简单表单(SIMPLELIST)⼜能显⽰有序表单(SEQUENTIAL LIST):传统的CALL FUNCTION ⽅式的ALV 有两种:LIST_ALV 和 GRID_ALV 现在⾯向对象编程(OO)的 OO_ALV 已经在绝⼤多数的地⽅取代了传统的ALV,但是有很多的⼯⼚还沿⽤着⽼系统,⽼程序,所以还是建议学习下,⽽且传统的ALV和⾯向对象的ALV中有很多共同的地⽅,对学习新式ALV也很有帮助。
ALV相关的⼏个控制结构:
1.字段⽬录 [Field catalog]
字段⽬录是⽤来控制ALV显⽰的⽹格中每个字段的属性的,⽐如字段的顺序,对齐⽅式,可编辑状态,颜⾊,等等.
常⽤的控制字段如下:(下⾯的⽰例将说明这些字段的使⽤,参考STRUCTURE LVC_S_FCAT)
2. ROW_POS ALV 控制: 输出⾏ (内部使⽤)
3. COL_POS ALV 控制: 输出列列的位置,第⼏列,例如1,2,…..
4. FIELDNAME ALV 控制: 内部表字段的字段名称字段名称
5. TABNAME LVC 标签名称表名,如果是内表,是1
6. CURRENCY ALV 控制: 货币单位
7. CFIELDNAME ALV 控制: 参考的当前单位的字段名称
8. QUANTITY ALV 控制: 计量单位
9. QFIELDNAME ALV 控制: 参考计量单位的字段名称
10. IFIELDNAME ALV 控制: 内部表字段的字段名称
11. ROUND ALV 控制: ROUND 值
12. EXPONENT ALV 控制:流动表⽰的指数
13. KEY ALV 控制: 关键字段关键字段,前⾯变蓝⾊
14. KEY_SEL ALV 控制: 可以被隐藏的关键列可以被隐藏的关键列
15. ICON ALV 控制: 作为图标输出此列作为图标输出
16. SYMBOL ALV 控制: 输出作为符号
17. CHECKBOX ALV 控制: 作为复选框输出复选框输出
18. JUST ALV 控制: 对齐对齐⽅式:
\'R\': right justified
\'L\': left justified
\'C\': centered
19. LZERO ALV 控制: 输出前导零 X\'
20. NO_SIGN ALV 控制:输出抑制符号 X\',不输出符号
21. NO_ZERO ALV 控制: 为输出隐藏零 X\',隐藏0
22. NO_CONVEXT ALV 控制: 不考虑输出的转换退出
23. EDIT_MASK ALV 控制: 为输出编辑掩码格式
24. EMPHASIZE ALV 控制: 带有颜⾊的⾼亮列列的颜⾊
25. FIX_COLUMN ALV 控制: 固定列
26. DO_SUM ALV 控制: 总计列值 X\',合计
27. NO_SUM ALV 控制: 没有总计列值 X\' ,没有合计
28. NO_OUT ALV 控制: 列没有输出 X\' ,隐藏此列
29. TECH ALV 控制: 技术字段 X\'.也是隐藏,但是有点不⼀样
30. OUTPUTLEN ALV 控制: 列的字符宽度输出的长度
31. CONVEXIT 转换例程
32. SELTEXT ALV 控制: 对话功能的列标识符
33. TOOLTIP ALV 控制: 列抬头的⼯具提⽰
34. ROLLNAME ALV 控制: F1 帮助的数据元素
35. DATATYPE ABAP 字典中的数据类型 ABAP 字典中的数据类型
36. INTTYPE ABAP 数据类型(C,D,N,...) ABAP 数据类型(C,D,N,...)
37. INTLEN 以字节计的内部长度内容的长度
38. LOWERCASE 允许/不允许⼩写字母 X\' 允许⼤⼩写
39. REPTEXT 标题
40. HIER_LEVEL ALV 控制: 内部使⽤
41. REPREP ALV 控制: 价值是补充/补充接⼝的选择标准
42. DOMNAME 定义域名
43. SP_GROUP 组代码
天秤男和天秤女44. HOTSPOT ALV 控制: 单击敏感 X\',下⾯出现下划线,响应单击
45. DFIELDNAME ALV 控制: 数据库中列组的字段名称
46. COL_ID ALV 控制: 列 ID
47. F4AVAILABL 字段有输⼊帮助吗 X\'.此列有搜索帮助
48. AUTO_VALUE ALV 控制: ⾃动复制值
49. CHECKTABLE 表名
50. VALEXI 固定值存在
51. WEB_FIELD ALV 控制: 内部表字段的字段名称
52. HREF_HNDL ⾃然数热点连接的句柄
53. STYLE ALV 控制: 样式下⾯有例⼦会介绍,⽐如PUSHBUTTION
54. STYLE2 ALV 控制: 样式
55. STYLE3 ALV 控制: 样式
56. STYLE4 ALV 控制: 样式
57. DRDN_HNDL ⾃然数下拉的句柄
58. DRDN_FIELD ALV 控制: 内部表字段的字段名称下拉的字段
59. NO_MERGING 字符字段长度 1 相同的值不合并
60. H_FTYPE ALV 树控制: 功能类型 (总计,平均,最⼤.最⼩, ...)
61. COL_OPT 可选列优化的条⽬
62. NO_INIT_CH 字符字段长度 1
63. DRDN_ALIAS 字符字段长度 1
64. REF_FIELD ALV 控制: 内部表字段的参考字段名称
65. REF_TABLE ALV 控制: 内部表字段的参考表名称
66. TXT_FIELD ALV 控制: 内部表字段的字段名称
67. ROUNDFIELD ALV 控制: 带有 ROUND 说明的字段名称
68. DECIMALS_O ALV 控制: 输出⼩数位的编号
69. DECMLFIELD ALV 控制: 带有 DECIMALS 说明的字段名称
70. DD_OUTLEN ALV 控制: 输出字符长度
71. DECIMALS ⼩数点后的位数设置⼩数的位数
72. COLTEXT ALV 控制: 列标题列标题
73. SCRTEXT_L 长字段标签
74. SCRTEXT_M 中字段标签
75. SCRTEXT_S 短字段标签
76. COLDDICTXT ALV 控制: 确定 DDIC ⽂本参考
77. SELDDICTXT ALV 控制: 确定 DDIC ⽂本参考
78. TIPDDICTXT ALV 控制: 确定 DDIC ⽂本参考
79. EDIT ALV 控制: 准备输⼊输出状态.\'X\'可输⼊
80. TECH_COL ALV 控制: 内部使⽤
81. TECH_FORM ALV 控制: 内部使⽤
82. TECH_COMP ALV 控制: 内部使⽤
83. HIER_CPOS ALV 控制: 层次列位置
84. H_COL_KEY 树控制: 列名称/项⽬名称
85. H_SELECT 标识是否可以选择树控制中的列
如何调整生物钟
86. DD_ROLL 数据元素 (语义域)
87. DRAGDROPID ALV 控制: 拖&放处理拖放对象
88. MAC 字符字段长度 1
89. INDX_FIELD ⾃然数
90. INDX_CFIEL ⾃然数
91. INDX_QFIEL ⾃然数
92. INDX_IFIEL ⾃然数