ALV常用参数详述.docx
《ALV常用参数详述.docx》由会员分享,可在线阅读,更多相关《ALV常用参数详述.docx(28页珍藏版)》请在冰点文库上搜索。
ALV常用参数详述
ALV常用参数详述
调用功能模块:
CALLFUNCTION‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
I_INTERFACE_CHECK ='' 接口一致性检查
I_CALLBACK_PROGRAM =SY-REPID 当前程序名
IS_LAYOUT =G_LAYOUT 输出样式
IT_FIELDCAT =G_FIELDCAT_ALV[] 字段定义描述表
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 =IT_ALV[]
EXCEPTIONS
PROGRAM_ERROR =1
OTHERS =2.
常用属性:
(赋值’’中内容必须为大写)
1、IT_FIELDCAT
DATA:
g_fieldcat_alvTYPEslis_t_fieldcat_alvWITHHEADERLINE.
IT_FIELDCAT =G_FIELDCAT_ALV[] 字段定义描述表
2、g_fieldcat
DATA:
g_fieldcatTYPEslis_fieldcat_alv.(用来定义表单中的各个列的相关信息)
g_fieldcat-col_pos=n. 输出列
g_fieldcat-fieldname=‘FIELDNAME’. 对应的内表字段名
g_fieldcat-seltext_s/m/l=‘列名’. 输出列文本(_s:
短文本、_l:
长文本)
g_fieldcat-emphasize=‘CX10’. 带有颜色的高亮列其中X=(1-7)颜色同format)
g_fieldcat-hotspot=‘X’. 作为热点显示,可触发鼠标触发事件
g_fieldcat-currency=‘CURRKEY’. 表TCURX中的货币名称
g_fieldcat-quantity(3) 计量单位
g_fieldcat-qfieldname 参考计量单位的字段名称
g_fieldcat-round=n. 四舍五入至小数位数下n位
g_fieldcat-exponent=n. 浮点数的幂指数为n
g_fieldcat-key=‘X’. 关键字段
g_fieldcat-icon=‘X’. 作为图标输出
g_fieldcat-symbol=‘X’. 输出作为符号
g_fieldcat-checkbox=‘X’. 作为复选框输出
g_fieldcat-just=SPACE,'R','L','C'. 对齐方式
g_fieldcat-lzero=‘X’. 输出前导零
g_fieldcat-no_sign=‘X’. 输出抑制符号
g_fieldcat-no_zero=‘X’. 为输出隐藏零
g_fieldcat-edit_mask=SPACE,mask. 输出为mask的模式
g_fieldcat-fix_column=‘X’. 固定列
g_fieldcat-do_sum=‘X’. 总计列值总和
g_fieldcat-no_out=‘X’. 列不输出
g_fieldcat-tech=‘X’. 该字段为技术字段
g_fieldcat-outputlen=n 列的字符宽度为n
g_fieldcat-decimals_out=n 能控制小数点的位数为n
g_fieldcat-datatype=C,I,N…定义数据类型
3、SORT
DATA:
g_sortableTYPEslis_t_sortinfo_alvWITHHEADERLINE.
it_sort=g_sortable[]
属性attribute(排序)
g_sortable-fieldname 字段名
Up 升序排列
Down 降序排列
Subtot
4、LAYOUT
DADTA:
g_layoutTYPEslis_layout_alv.
IS_LAYOUT=g_layout
属性(用于定义ALV表单的相关格式、属性)
g_layout-info_fieldname='LINE_COLOR'.设置特殊行颜色(将LINE_COLOR增加到内表字段,写'CX10'到特殊行的LINE_COLOR,X为颜色值)
g_layout-colwidth_optimize=‘X’. 优化列宽设置
g_layout-no_colhead='X'. 不显示列名
g_layout-no_vline='X'. 不显示列间竖线
g_layout-f2code='&ETA'. 设置触发弹出详细信息窗口的功能码,这里是双击
g_layout-detail_popup 是否弹出详细信息窗口
g_layout-detail_titlebar 设置弹出窗口的标题栏
g_layout-totals_text
g_layout-totals_only
g_layout-group_change_edit
g_layout-header_text
5、按钮
DATA:
i_eventsTYPEslis_t_eventWITHHEADERLINE.
it_events =g_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
6、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类
DATA:
ALV_GRID1typereftocl_gui_alv_grid.
四、ALVGRID相关的几个控制结构
1.字段目录[Fieldcatalog]
字段目录是用来控制ALV显示的网格中每个字段的属性的,比如字段的顺序,对齐方式,可编辑状态,颜色,等等.
常用的控制字段如下:
(下面的示例将说明这些字段的使用,参考STRUCTURELVC_S_FCAT)
2.ROW_POSALV控制:
输出行(内部使用)
3.COL_POSALV控制:
输出列列的位置,第几列,例如1,2,…..
4.FIELDNAMEALV控制:
内部表字段的字段名称字段名称
5.TABNAMELVC标签名称表名,如果是内表,是1
6.CURRENCYALV控制:
货币单位
7.CFIELDNAMEALV控制:
参考的当前单位的字段名称
8.QUANTITYALV控制:
计量单位
9.QFIELDNAMEALV控制:
参考计量单位的字段名称
10.IFIELDNAMEALV控制:
内部表字段的字段名称
11.ROUNDALV控制:
ROUND值
12.EXPONENTALV控制:
流动表示的指数
13.KEYALV控制:
关键字段关键字段,前面变蓝色
14.KEY_SELALV控制:
可以被隐藏的关键列可以被隐藏的关键列
15.ICONALV控制:
作为图标输出此列作为图标输出
16.SYMBOLALV控制:
输出作为符号
17.CHECKBOXALV控制:
作为复选框输出复选框输出
18.JUSTALV控制:
对齐对齐方式:
'R':
rightjustified、'L':
leftjustified、'C':
centered
19.LZEROALV控制:
输出前导零X'
20.NO_SIGNALV控制:
输出抑制符号X',不输出符号
21.NO_ZEROALV控制:
为输出隐藏零X',隐藏0
22.NO_CONVEXTALV控制:
不考虑输出的转换退出
23.EDIT_MASKALV控制:
为输出编辑掩码格式
24.EMPHASIZEALV控制:
带有颜色的高亮列列的颜色
25.FIX_COLUMNALV控制:
固定列
26.DO_SUMALV控制:
总计列值X',合计
27.NO_SUMALV控制:
没有总计列值X',没有合计
28.NO_OUTALV控制:
列没有输出X',隐藏此列
29.TECHALV控制:
技术字段X'.也是隐藏,但是有点不一样
30.OUTPUTLENALV控制:
列的字符宽度输出的长度
31.CONVEXIT转换例程
32.SELTEXTALV控制:
对话功能的列标识符
33.TOOLTIPALV控制:
列抬头的工具提示
34.ROLLNAMEALV控制:
F1帮助的数据元素
35.DATATYPEABAP字典中的数据类型ABAP字典中的数据类型
36.INTTYPEABAP数据类型(C,D,N,...)ABAP数据类型(C,D,N,...)
37.INTLEN以字节计的内部长度内容的长度
38.LOWERCASE允许/不允许小写字母X'允许大小写
39.REPTEXT标题
40.HIER_LEVELALV控制:
内部使用
41.REPREPALV控制:
价值是补充/补充接口的选择标准
42.DOMNAME定义域名
43.SP_GROUP组代码
44.HOTSPOTALV控制:
单击敏感X',下面出现下划线,响应单击
45.DFIELDNAMEALV控制:
数据库中列组的字段名称
46.COL_IDALV控制:
列ID
47.F4AVAILABL字段有输入帮助吗X'.此列有搜索帮助
48.AUTO_VALUEALV控制:
自动复制值
49.CHECKTABLE表名
50.VALEXI固定值存在
51.WEB_FIELDALV控制:
内部表字段的字段名称
52.HREF_HNDL自然数热点连接的句柄
53.STYLEALV控制:
样式下面有例子会介绍,比如PUSHBUTTION
54.STYLE2ALV控制:
样式
55.STYLE3ALV控制:
样式
56.STYLE4ALV控制:
样式
57.DRDN_HNDL自然数下拉的句柄
58.DRDN_FIELDALV控制:
内部表字段的字段名称下拉的字段
59.NO_MERGING字符字段长度1相同的值不合并
60.H_FTYPEALV树控制:
功能类型(总计,平均,最大.最小,...)
61.COL_OPT可选列优化的条目
62.NO_INIT_CH字符字段长度1
63.DRDN_ALIAS字符字段长度1
64.REF_FIELDALV控制:
内部表字段的参考字段名称
65.REF_TABLEALV控制:
内部表字段的参考表名称
66.TXT_FIELDALV控制:
内部表字段的字段名称
67.ROUNDFIELDALV控制:
带有ROUND说明的字段名称
68.DECIMALS_OALV控制:
输出小数位的编号
69.DECMLFIELDALV控制:
带有DECIMALS说明的字段名称
70.DD_OUTLENALV控制:
输出字符长度
71.DECIMALS小数点后的位数设置小数的位数
72.COLTEXTALV控制:
列标题列标题
73.SCRTEXT_L长字段标签
74.SCRTEXT_M中字段标签
75.SCRTEXT_S短字段标签
76.COLDDICTXTALV控制:
确定DDIC文本参考
77.SELDDICTXTALV控制:
确定DDIC文本参考
78.TIPDDICTXTALV控制:
确定DDIC文本参考
79.EDITALV控制:
准备输入输出状态.'X'可输入
80.TECH_COLALV控制:
内部使用
81.TECH_FORMALV控制:
内部使用
82.TECH_COMPALV控制:
内部使用
83.HIER_CPOSALV控制:
层次列位置
84.H_COL_KEY树控制:
列名称/项目名称
85.H_SELECT标识是否可以选择树控制中的列
86.DD_ROLL数据元素(语义域)
87.DRAGDROPIDALV控制:
拖&放处理拖放对象
88.MAC字符字段长度1
89.INDX_FIELD自然数
90.INDX_CFIEL自然数
91.INDX_QFIEL自然数
92.INDX_IFIEL自然数
93.INDX_ROUND自然数
94.INDX_DECML自然数
95.GET_STYLE字符字段长度1
96.MARK字符字段长度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,字段目录,这个是必须的,如果没有这个参数,参