ALV常用参数的详细描述.docx
- 文档编号:7074736
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:24
- 大小:33.19KB
ALV常用参数的详细描述.docx
《ALV常用参数的详细描述.docx》由会员分享,可在线阅读,更多相关《ALV常用参数的详细描述.docx(24页珍藏版)》请在冰豆网上搜索。
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
&VEXCELMicrosoftExcelICON_XLS
&AQW字处理...ICON_WORD_PROCESSING
%PC本地文件...ICON_EXPORT
%SL邮件收件人ICON_MAIL
&ABCABC分析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)
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':
rightjustified
'L':
leftjustified
'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',合计
ALV_GRID介绍二
(2)
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 自然数
93 INDX_ROUND 自然数
94 INDX_DECML 自然数
95 GET_STYLE 字符字段长度1
96 MARK 字符字段长度1
ALV_GRID介绍二(3)
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 例外作为LED SPACE,'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个字符
ALV_GRID介绍二(4)
3.打印和排序,过滤控制
打印的参数控制请参考结构[LVC_S_PRNT]
排序的参数控制请参考结构[LVC_S_SORT]
过滤的参数控制请参考结构[LVC_S_FILT]
这里不再一一解释,进入中文版本,里面应该也有解释的,虽然一些不是很清楚.
五.编写简单的ALV程序.
首先这里就不详细介绍DIALOG的用法了.
OO的ALVGRID必须存在于一个容器当中,就是FUNCTION的ALV,其实也是一样的,底层也是使用CL_GUI_ALV_GRID这个类的.
首先ALV的显示需要有几个先决条件.
1,字段目录,这个是必须的,如果没有这个参数,参考一个数据字典也是可以的,就是参数I_STRUCTURE_NAME.
2.存放数据的内表,最好内表的结构和字段目录是一致的,否则可能会出现一些无法预知的错误,当然你说我非要不一样,那也不一定会出现错误.我建议是最好一样的.
这2个是必须的,布局的话,应该是可以不设置的,使用默认的就可以了.
第一步:
创建个SCREEN,在屏幕上创建个容器,CONTAINER.定义变量.
DATA:
WCL_CONTAINERTYPEREFTOCL_GUI_CUSTOM_CONTAINER,
WCL_ALVTYPEREFTOCL_GUI_ALV_GRID.
*---存放字段目录的内表
DATAgt_fieldcatTYPElvc_t_fcat.
*---布局结构
DATAgs_layoutTYPElvc_s_layo.
*----声明需要显示的内表(以SFLIGHT为例)
DATABEGINOFgt_listOCCURS0.
INCLUDESTRUCTURESFLIGHT.
DATAENDOFgt_list.
第二步:
创建ALV这个对象,它的父组件是那个容器.
在PBO中写入如下代码:
PROCESSBEFOREOUTPUT.
MODULEdisplay_alv.
创建DISPLAY_ALV的MODULE后,写下如下代码:
MODULEdisplay_alvOUTPUT.
PERFORMdisplay_alv.
ENDMODULE.
在FORMDISPLAY_ALV中,判断ALV实例是否存在,如果不存在,则创建:
IF WCL_ALVISINITIAL.
CREATEOBJECT:
WCL_CONTAINER
EXPORTING
CONTAINER_NAME='ALV_CON'.
CREATEOBJECTWCL_ALV
EXPORTING
I_PARENT=WCL_CONTAINER.
*-----准备获取字段目录
PERFORMprepare_field_catalogCHANGINGgt_fieldcat.
*-----设置布局
PERFORMprepare_layoutCHANGINGgs_layout.
*-----显示ALV
CALLMETHODgr_alvgrid->
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ALV 常用 参数 详细 描述
![提示](https://static.bdocx.com/images/bang_tan.gif)