一.ALV介绍
The ALV Grid Control (ALV = SAPList Viewer)是一个显示列表的灵活的工具,它提供了基本功能的列表操作,也可以通过自定义来进行增强,因此可以允许你可以在大型的应用程序中使用.
SAP提示: 在SAP的开发项目中,ALV GRID也可以作为修改和创建数据的一种工具,然而,目前这个功能只在实验计划中使用,还没有向客户发布.
下面是一个ALV GRID的图片:
它包括3大部分,工具栏,标题,用于显示数据的网格控制器.如果有必要,用户可以隐藏标题和工具栏.
ALV家族包含3中ALV工具:简易的,两层ALV,分等级连续的列表和树形结构的ALV.
二.ALV GRID CONTROL (ALV网格控制器)
ALV GRID CONTROL使用了控制器技术以实现艺术性的屏幕显示,象所有的控制器一样,ALV GRID CONTROL通过系统中的一个全局的类提供了方法,以响应它的动作.
使用了ABAP的对象以后,列表是通过ALV的一个实例(INSTANCE)来显示的,程序员可以使用ABAP对象的事件管理.
三.ALV GRID CONTROL实例
ALV GRID实例的定义,参照CL_GUI_ALV_GRID类
data ALV_GRID1 type refto cl_gui_alv_grid.
ALV GRID继承结构:
四、ALV GRID相关的几个控制结构
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 控制:对齐 |
对齐方式: |
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 树控制:功能类型 (总计,平均,最大.最小 |