ALV常用参数的详细描述.docx
《ALV常用参数的详细描述.docx》由会员分享,可在线阅读,更多相关《ALV常用参数的详细描述.docx(18页珍藏版)》请在冰豆网上搜索。
![ALV常用参数的详细描述.docx](https://file1.bdocx.com/fileroot1/2023-7/6/09386e81-484d-4781-bdee-273fdd1a7b73/09386e81-484d-4781-bdee-273fdd1a7b731.gif)
ALV常用参数的详细描述
ALV常用参数的详细描述
调用功能模块:
CALLFUNCTION\'REUSE_ALV_GRID_DISPLAY\'
EXPORTING
i_interface_check =\'\' 接口一致性检查
i_callback_program =sy-repid 当前程序名
is_layout =layout 输出样式
it_fieldcat =fieldcat[] 字段定义描述表
i_callback_pf_status_set=\'PF_STATUS_SET\' 触发事件调用子程序
i_callback_user_command=\'USER_COMMAND\' 鼠标事件操作子程序
it_events =i_events[] 出口程序触发事件
i_callback_html_top_of_page=\'ALV_TOP_OF_PAGE\' ALV输出表头设置
i_grid_settings=wl_lvc_s_glay 打印表头设置
it_sort=sortable[] 排序设置
TABLES
t_outtab =ig_out
EXCEPTIONS
program_error =1
OTHERS =2.
常用属性:
(赋值’’中内容必须为大写)
1.Fieldcat
data:
fieldcattypeslis_t_fieldcat_alvwithheaderline.
it_fieldcat =fieldcat[]
属性
(用来定义表单中的各个列的相关信息)
Fieldcat-col_pos=n. 输出列
Fieldcat-tabname=‘FIELDNAME’. 对应的内表字段名
Fieldcat-seltext_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:
sortabletypeslis_t_sortinfo_alvwithheaderline.
it_sort=sortable[]
属性
(排序)
Sortable-Fieldname 字段名
Up 升序排列
Down 降序排列
Subtot
3.Layout
data:
layouttypeslis_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_eventsTYPEslis_t_eventWITHHEADERLINE.
事件:
it_events =i_events[]
i_callback_pf_status_set=\'PF_STATUS_SET\'
i_callback_user_command=\'USER_COMMAND\'
出口程序触发事件对应子程序:
FORMPF_STATUS_SETUSINGrt_extabTYPEslis_t_extab.
FORMuser_commandUSINGucommLIKEsy-ucommselfieldTYPEslis_selfield.
功能代码:
函数文本:
图标名称:
&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 MicrosoftExcel 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\'
formtop_of_pageusingcl_ddtypereftocl_dd_document.
语法同HTMLfomat
ALV_GRID介绍
一.ALV介绍
TheALVGridControl(ALV=SAPListViewer)是一个显示列表的灵活的工具,它提供了基本功能的列表操作,也可以通过自定义来进行增强,因此可以允许你可以在大型的应用程序中使用.
SAP提示:
在SAP的开发项目中,ALVGRID也可以作为修改和创建数据的一种工具,然而,目前这个功能只在实验计划中使用,还没有向客户发布.
下面是一个ALVGRID的图片:
它包括3大部分,工具栏,标题,用于显示数据的网格控制器.如果有必要,用户可以隐藏标题和工具栏.
ALV家族包含3中ALV工具:
简易的,两层ALV,分等级连续的列表和树形结构的ALV.
二.ALVGRIDCONTROL(ALV网格控制器)
ALVGRIDCONTROL使用了控制器技术以实现艺术性的屏幕显示,象所有的控制器一样,ALVGRIDCONTROL通过系统中的一个全局的类提供了方法,以响应它的动作.
使用了ABAP的对象以后,列表是通过ALV的一个实例(INSTANCE)来显示的,程序员可以使用ABAP对象的事件管理.
三.ALVGRIDCONTROL实例
ALVGRID实例的定义,参照CL_GUI_ALV_GRID类
dataALV_GRID1typereftocl_gui_alv_grid.
ALVGRID继承结构:
ALV_GRID介绍二
(1)
四、ALVGRID相关的几个控制结构
1.字段目录[Fieldcatalog]
字段目录是用来控制ALV显示的网格中每个字段的属性的,比如字段的顺序,对齐方式,可编辑状态,颜色,等等.
常用的控制字段如下:
(下面的示例将说明这些字段的使用,参考STRUCTURELVC_S_FCAT)
2ROW_POSALV控制:
输出行(内部使用)
3COL_POSALV控制:
输出列列的位置,第几列,例如1,2,…..
4FIELDNAMEALV控制:
内部表字段的字段名称字段名称
5TABNAMELVC标签名称表名,如果是内表,是1
6CURRENCYALV控制:
货币单位
7CFIELDNAMEALV控制:
参考的当前单位的字段名称
8QUANTITYALV控制:
计量单位
9QFIELDNAMEALV控制:
参考计量单位的字段名称
10IFIELDNAMEALV控制:
内部表字段的字段名称
11ROUNDALV控制:
ROUND值
12EXPONENTALV控制:
流动表示的指数
13KEYALV控制:
关键字段关键字段,前面变蓝色
14KEY_SELALV控制:
可以被隐藏的关键列可以被隐藏的关键列
15ICONALV控制:
作为图标输出此列作为图标输出
16SYMBOLALV控制:
输出作为符号
17CHECKBOXALV控制:
作为复选框输出复选框输出
18JUSTALV控制:
对齐对齐方式:
\'R\':
rightjustified
\'L\':
leftjustified
\'C\':
centered
19LZEROALV控制:
输出前导零X\'
20NO_SIGNALV控制:
输出抑制符号X\',不输出符号
21NO_ZEROALV控制:
为输出隐藏零X\',隐藏0
22NO_CONVEXTALV控制:
不考虑输出的转换退出
23EDIT_MASKALV控制:
为输出编辑掩码格式
24EMPHASIZEALV控制:
带有颜色的高亮列列的颜色
25FIX_COLUMNALV控制:
固定列
26DO_SUMALV控制:
总计列值X\',合计
27NO_SUMALV控制:
没有总计列值X\',没有合计
28NO_OUTALV控制:
列没有输出X\',隐藏此列
29TECHALV控制:
技术字段X\'.也是隐藏,但是有点不一样
30OUTPUTLENALV控制:
列的字符宽度输出的长度
31CONVEXIT转换例程
32SELTEXTALV控制:
对话功能的列标识符
33TOOLTIPALV控制:
列抬头的工具提示
34ROLLNAMEALV控制:
F1帮助的数据元素
35DATATYPEABAP字典中的数据类型ABAP字典中的数据类型
36INTTYPEABAP数据类型(C,D,N,...)ABAP数据类型(C,D,N,...)
37INTLEN以字节计的内部长度内容的长度
38LOWERCASE允许/不允许小写字母X\'允许大小写
39REPTEXT标题
40HIER_LEVELALV控制:
内部使用
41REPREPALV控制:
价值是补充/补充接口的选择标准
42DOMNAME定义域名
43SP_GROUP组代码
44HOTSPOTALV控制:
单击敏感X\',下面出现下划线,响应单击
45DFIELDNAMEALV控制:
数据库中列组的字段名称
46COL_IDALV控制:
列ID
47F4AVAILABL字段有输入帮助吗X\'.此列有搜索帮助
48AUTO_VALUEALV控制:
自动复制值
49CHECKTABLE表名
50VALEXI固定值存在
51WEB_FIELDALV控制:
内部表字段的字段名称
52HREF_HNDL自然数热点连接的句柄
53STYLEALV控制:
样式下面有例子会介绍,比如PUSHBUTTION
54STYLE2ALV控制:
样式
55STYLE3ALV控制:
样式
56STYLE4ALV控制:
样式
57DRDN_HNDL自然数下拉的句柄
58DRDN_FIELDALV控制:
内部表字段的字段名称下拉的字段
59NO_MERGING字符字段长度1相同的值不合并
60H_FTYPEALV树控制:
功能类型(总计,平均,最大.最小,...)
61COL_OPT可选列优化的条目
62NO_INIT_CH字符字段长度1
63DRDN_ALIAS字符字段长度1
64REF_FIELDALV控制:
内部表字段的参考字段名称
65REF_TABLEALV控制:
内部表字段的参考表名称
66TXT_FIELDALV控制:
内部表字段的字段名称
67ROUNDFIELDALV控制:
带有ROUND说明的字段名称
68DECIMALS_OALV控制:
输出小数位的编号
69DECMLFIELDALV控制:
带有DECIMALS说明的字段名称
70DD_OUTLENALV控制:
输出字符长度
71DECIMALS小数点后的位数设置小数的位数
72COLTEXTALV控制:
列标题列标题
73SCRTEXT_L长字段标签
74SCRTEXT_M中字段标签
75SCRTEXT_S短字段标签
76COLDDICTXTALV控制:
确定DDIC文本参考
77SELDDICTXTALV控制:
确定DDIC文本参考
78TIPDDICTXTALV控制:
确定DDIC文本参考
79EDITALV控制:
准备输入输出状态.\'X\'可输入
80TECH_COLALV控制:
内部使用
81TECH_FORMALV控制:
内部使用
82TECH_COMPALV控制:
内部使用
83HIER_CPOSALV控制:
层次列位置
84H_COL_KEY树控制:
列名称/项目名称
85H_SELECT标识是否可以选择树控制中的列
86DD_ROLL数据元素(语义域)
87DRAGDROPIDALV控制:
拖&放处理拖放对象
88MAC字符字段长度1
89INDX_FIELD自然数
90INDX_CFIEL自然数
91INDX_QFIEL自然数
92INDX_IFIEL自然数
93INDX_ROUND自然数
94INDX_DECML自然数
95GET_STYLE字符字段长度1
96MARK字符字段长度1
2.布局控制[layout]
布局是用来控制整个ALV的一个布局,比如ALV的标题,是否可编辑,行颜色,列颜色.
参照ALV的控制结构[LVC_S_LAYO],以后的例子我将详细介绍如何设置行颜色和列颜色.
详细的结构说明
字段名描述Valuerange
CWIDTH_OPT最优化宽度SPACE,\'X\'
SMALLTITLE小标题,如果设置了这个字段,
则标题与列标题大小一样SPACE,\'X\'
GRID_TITLE标题,在网格和工具条之间最长70个字符
NO_HEADERS如果被设置,列标题隐藏SPACE,\'X\'
NO_HGRIDLN隐藏水平线SPACE,\'X\'
NO_MERGING禁用单元格合并SPACE,\'X\'
NO_ROWMARK如果被设置,选择列在选择模式
为D和A的时候隐藏SPACE,\'X\'
NO_TOOLBAR隐藏工具条SPACE,\'X\'
NO_VGRIDLN隐藏垂直线SPACE,\'X\'
SEL_MODE选择模式SPACE,\'A\',\'B\',\'C\',\'D\'
EXCP_CONDS合计例外SPACE,\'X\'
EXCP_FNAME字段名称带有例外编码最长30个字符
EXCP_LED例外作为LEDSPACE,\'X\'
EXCP_ROLLN例外文档的数据元素SPACE,\'X\'
CTAB_FNAME带有复杂单元格颜色编码的字段名称最长30个字符
INFO_FNAME带有简单行彩色代码的字段名称最长30个字符
ZEBRA可选行颜色,如果设置了,出现了间隔色带SPACE,\'X\'
NO_TOTLINE没有总计SPACE,\'X\'
NUMC_TOTAL可以对NUMC字段进行合计SPACE,\'X\'
TOTALS_BEF总计输出在第一行,小计在新的值之前SPACE,\'X\'
STYLEFNAME设置单元格,比如PUSHBUTTON最长30个字符
3.打印和排序,过滤控制
打印的参数控制请参考结构[LVC_S_PRNT]
排序的参数控制请参考结构[LVC_S_SORT]
过滤的参数控制请参考结构[LVC_S_FILT]
这里不再一一解释,进入中文版本,里面应该也有解释的,虽然一些不是很清楚.
五.编写简单的ALV程序.
首先这里就不详细介绍DIALOG的用法了.
OO的ALVGRID必须存在于一个容器当中,就是FUNCTION的ALV,其实也是一样的,底层也是使用CL_GUI_ALV_GRID这个类的.
首先ALV的显示需要有几个先决条件.
1,字段目录,