ALV调用的几个函数
ALV的调用主要由以下几个标准函数实现,所有函数的输入输出参数必须大写,否则系统会出现异常中止,相关函数如下:
1)REUSE_ALV_FIENDCATALOG_MERGE:根据内表结构返回FIELDCAT字段结构信息,其常用输入输出参数如下:
EXPORTING项:
1.I_PROGRAM_NAME:程序名称。
2.I_INTERNAL_TABNAME:内表名称,必须为输出内表所自定义的STRUCTURE名。
3.I_STRUCTURE_NAME:直接参考数据字典中所定义的透明表名或STRUCTURE名。
函数定义时I_INTERNAL_TABNAME或I_STRUCTURE_NAME参数只需一项。
CHANGING项:
CT_FIELDCAT:导出FIELDCAT内表数据。
2)REUSE_ALV_GRID_DISPLAY/REUSE_ALV_LIST_DISPLAY:输出ALV报表,定义其为GRID模式还是LIST模式,两个函数的语法结构一样,其常用输入输出参数如下:
EXPORT项:
1.I_CALLBACK_PROGRAM:程序名称。
2.IS_LAYOUT:程序所定义的LAYOUT名称。
3.I_GRID_TITLE:定义ALV标题名。
4.IT_FIELDCAT:定义FIELDCAT数据。
5.IT_EVENTS:定义ALV输出事件。
6.I_CALLBACK_PF_STATUS_SET:定义触发工具栏定义,通常为一个子程序。
7.I_CALLBACK_USER_COMMAND:其对应值一般为子程序名,在对ALV操作时触发所定义子程序(如某表字段的双击事件)。
TABLES项(定义输入内表数据):
1.T_OUTTAB:输入所需显示的内表数据。
3)LAYOUT为一STRUCTURE,其主要字段定义及属性如下:
1.EDIT:设置ALV是否为可编辑模式。
2.COLWIDTH_OPTIMIZE:将ALV字段宽度设置为最优化,按实际输出内容宽度自动匹配。
3.NO_VLINE:输出ALV表格不显示垂直格式。
4.NO_ULINE_HS:输出ALV表格不显示水平格线。
5.INFO_FIELDNAME:设置颜色属性。
6.KEY_HOTSPOT:设置关键字段热点。
7.NO_COLNAME:是否显示字段名。
8.ZEBRA:使ALV表格按斑马线间隔条纹方式显示,以便显示效果更有美观。
9.BOX_FIELDNAME:设置ALV表格是否显示选择按钮字段。
10.INFO_FIELDNAME:用于设置ALV输出报表每一行的颜色,其参数为输出内表的字段名称,要注意的是使用该属性需要同时在内表中定义一个与该参数所定义字段名相同的字段,例如:
LAYOUT-INFO_FIELDNAME = 'COLOR'.
倘若其数据输出内表名为LT_OUT,则需要在该内表增加一字段“COLOR”,并为其内表每行复制,颜色参数范围C000~C999,例如:
LT_OUT-COLOR = 'C012'.
4)FIELDCAT主要属性介绍
1.KEY:将定义字段设置为KEY值。
2.ICON:将定义字段以ICON的形式显示。
3.CHECKBOX:将定义字段以CHECKBOX的形式显示。
4.JUST:定义字段对齐方式(R)RIGHT、(L)LEFT、(C)CENTER。
5.IZERO:将定义字段以前导"0"的形式显示。
6.NO_SIGN:将定义字段符号设置为不显示。
7.NO_ZERO:定义字段是否显示。
8.EMPHASIZE:设置字段的颜色。
9.DO_SUM:对字段进行汇总。
10.SELTEXT_L/M/S:设置字段名称描述长/中/短。
11.DDICTXT:设置字段显示字符串。
12.HOTSPOT:设置字段是否有热点(热点字段显示有下划线)。
13.NO_OUT:隐藏不需要的字段(NO_OUT = 'X')。
ALV调用的几个函数的更多相关文章
- mfc 调用Windows的API函数实现同步异步串口通信(源码)
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信.串口通信方便易行,应用广泛. 一般情况下,工控机和各智能仪表通过RS485总线进行通信.RS485的通信方式是半 ...
- 【原创】Matlab.NET混合编程技巧之直接调用Matlab内置函数
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 在我的上一篇文章[ ...
- C#调用C和C++函数的一点区别
最近做U800电话的二次开发,需要调用厂商的C函数库来打电话,后来想加入通话录音功能,但发现程序默认生产的WAV文件过大,又找了个WAV转MP3的C++函数库程序,出了点问题.下面是转MP3的程序接口 ...
- 在VS2012中采用C++中调用DLL中的函数 (4)
这两天因为需要用到VS2012来生成一个DLL代码,但是之前并没有用过DLL相关的内容,从昨天开始尝试调试DLL的文件调用,起初笔者在网络上找到了3片采用VSXXX版本进行调试的例子,相关的内容见本人 ...
- 在C++中调用DLL中的函数 (3)
1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等 ...
- 在C++中调用DLL中的函数 (2)
应用程序使用DLL可以采用两种方式: 一种是隐式链接,另一种是显式链接.在使用DLL之前首先要知道DLL中函数的结构信息. Visual C++6.0在VC\bin目录下提供了一个名为Dumpbin. ...
- Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤
原文地址: Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤 - 网络资源是无限的 - 博客频道 - CSDN.NET http://blog.csdn.net/fen ...
- 在C++中调用DLL中的函数
如何在C++中调用DLL中的函数 应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接.在使用DLL之前首先要知道DLL中函数的结构信息.Visual C++6.0在VC\bin目录下 ...
- c#调用js,以及js调用C#里的函数, c#自己生成js代码,实现对web的控制
using mshtml;using System;using System.Collections.Generic;using System.Linq;using System.Security.P ...
随机推荐
- 【BIEE】页面跳转以及跳转后返回
报表开发过程中,我们经常会遇到这种问题:知道统计结果,然后根据统计结果去看明细数据 很多人可能首先想到的就是钻探,钻探是一种方法,但是不是唯一的办法,可以使用页面跳转完成. 下面举个例子 页面A 现在 ...
- Oracle 重置序列
Oracle将自增sequence重置为初始值1时,若是删除再重建,那么依赖它的函数和存储过程将失效,需要重新编译. 这里利用相反的过程,利用负值步长参数,将递增值改为(sequence.NEXTVA ...
- 【Lucene】Apache Lucene全文检索引擎架构之构建索引2
上一篇博文中已经对全文检索有了一定的了解,这篇文章主要来总结一下全文检索的第一步:构建索引.其实上一篇博文中的示例程序已经对构建索引写了一段程序了,而且那个程序还是挺完善的.不过从知识点的完整性来考虑 ...
- 约瑟夫环用php实现
百度百科的解释:约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数 ...
- sql语句偶记录
查看表结构: show FULL COLUMNS FROM tablename;
- hector_localization hector_salm rplidar同时编译
1.将hector_localization包clone到src文件夹 进行功能包依赖安装 cd test_ws rosdep update rosdep install --from-paths ...
- Atitit.5gl 第五代语言编程语言 PROLOG教程 人工智能语言的标准 与实现
Atitit.5gl 第五代语言编程语言 PROLOG教程 人工智能语言的标准 与实现 1. 第五代语言就是自然语言又被称为知识库语言或人工智能语言,1 2. 人工智能语言特点2 2.1. 试探法2 ...
- [译]GLUT教程 - 键盘高级特性
Lighthouse3d.com >> GLUT Tutorial >> Input >> Advanced Keyboard 本节我们会介绍另外4个处理键盘事件的 ...
- MapReduce源码分析之JobSplitWriter
JobSplitWriter被作业客户端用于写分片相关文件,包括分片数据文件job.split和分片元数据信息文件job.splitmetainfo.它有两个静态成员变量,如下: // 分片版本,当前 ...
- Maven项目Update Project...后JRE System Library会自动变回1.5解决办法
<build> <finalName>pay</finalName> <plugins> <plugin> <groupId>o ...