ALV FIELDCAT添加属性 – REUSE_ALV_FIELDCATALOG_MERGE函数详解编程语言
上面的例子中,只给 fieldcat 中增加了一行记录,即 ALV 只输出一列数据;
如若我们需要输出的 ALV 字段非常多,比如50个字段(会有这种需求);
这时候,就会重复操作同样的赋值语句,这只会增加我们的开发量,没法提高效率;
如果开发中又需要对一些字段做属性修改,又需要对相应的 Fieldcat 字段添加属性,这又是一个烦躁的过程;
一般这种情况下,可以通过两种方法解决上面的问题。
一种是通过定义宏,来为Fieldcat 赋值;
一种是通过REUSE_ALV_FIENDCATALOG_MERGE函数为Fieldcat赋值。
或者是两种方法结合。
1. 宏定义
宏定义的操作较为简单,不做详细说明,这里直接给出示例:
2. REUSE_ALV_FIENDCATALOG_MERGE函数
REUSE_ALV_FIENDCATALOG_MERGE函数可以根据现有的内表结构返回FIELDCAT字段结构信息;
其中包括数据字典中的结构、透明表、视图,自定义的Add-On表、结构、视图;
也包括程序中定义的全局、局部结构、内表。
REUSE_ALV_FIENDCATALOG_MERGE 函数的输入输出参数:
1) Import参数:
I_PROGRAM_NAME:程序名称
I_INTERNAL_TABNAME:内表名称,必须为输出内表的自定义STRUCTURE
I_STRUCTURE_NAME:结构名称,直接参考数据字典中的透明表、视图或STRUCTURE
I_CLIENT_NEVER_DISPLAY:显示Client字段
I_INCLNAME:Include 名称
2) Changing参数:
CT_FIELDCAT:导出的Fieldcat结构信息
这里需要注意的是,I_INTERNAL_TABNAME 与 I_STRUCTURE_NAME 参数只需一项。
从上面的程序可以看出,在定义内表结构时,使用了 Data 关键字来定义内表结构;
有时候,也会习惯于用TYPES关键字定义内表结构;但在这里,如若用Types定义结构时,该函数则会取不到任何相关的信息:
![reuse_alv_fieldcatalog_merge](http://blog.ytso.com/zb_users/plugin/LazyLoad/usr/loading.gif)
reuse_alv_fieldcatalog_merge
然后,还要注意的一点是,由于REUSE_ALV_FIELDCATALOG_MERGE 函数中导出的Fieldcat结构为slis_t_fieldcat_alv;
故该函数只能和 REUSE_ALV_GRID_DISPLAY 函数一起使用,不能用于 REUSE_ALV_GRID_DISPLAY_LVC 函数。
必须需要使用REUSE_ALV_GRID_DISPLAY_LVC 函数的,则可以通过前面讲到的定义宏来为Fieldcat提交相关信息。
下面给出一个示例:
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/20175.html
cmac相关文章
- Properties属性文件操作Java工具类详解编程语言
- MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突详解编程语言
- javascript中元素的scrollLeft和scrollTop属性说明详解编程语言
- java对xml节点属性的增删改查详解编程语言
- 深入理解JavaScript中的属性和特性详解编程语言
- spring中bean的scope属性理解详解编程语言
- Jackson序列化日期类型的属性详解编程语言
- CSS 属性选择器详解编程语言
- java8 按对象属性值分组详解编程语言
- CSS 属性设置优先级问题详解编程语言
- 链接属性rel=’external’、rel=’nofollow’、rel=’external nofollow’三种写法的区别详解编程语言
- SAP OLE中常用的一些方法和属性详解编程语言
- 查看日期属性(休息日、节假日、星期几)[DAY_ATTRIBUTES_GET]详解编程语言
- javascript 访问对象属性详解编程语言