ABAP 7.50 新特性之另一个CORRESPONDING
在ABAP中,存在着一条法则:名字不一定代表实际规则(具体可看最近的相关讨论)。
但是如你们所知的,存在着一个很好的例外: 所有涉及到使用CORRESPONDING为结构赋值的关键字的语法形式(偶然地)有着相同的名字..
- 在ABAP 7.40之前,主要有用MOVE-CORRESPONDING来复制结构组件、Open SQL的SELECT的CORRESPONDING附加字段,以及某些过时的计算语句等。
- 在ABAP 7.40中,MOVE-CORRESPONDING可以用于操纵带有结构的内表。并且7.40引入了一个新的构造器操作符CORRESPONDING,它允许显式地将结构的组件映射到不同名字的组件上。
还缺了点什么?答案是动态的映射!这个特性在ABAP 7.50中得到了引入。
新的系统类 CL_ABAP_CORRESPONDING允许你适用动态指定的映射规则为结构或内表的组件赋值。
映射规则需要创建在一个映射表中,然后传递给映射对象。
例子如下:
DATA(mapper) =cl_abap_corresponding=>create(
source=struct1
destination=struct2
mapping= VALUE cl_abap_corresponding=>mapping_table(
( level= 0kind= cl_abap_corresponding=>mapping_component
srcname=‘…’
dstname=‘…’ )
( level= 0kind= cl_abap_corresponding=>mapping_component
srcname=‘…’
dstname=‘…’ )
( level= 0kind= cl_abap_corresponding=>mapping_component
srcname=‘…’
dstname= ‘…’ ) ) ).
- 上一篇: 搭建一个https二级代理(完整可用版)
- 下一篇: 让ABAP开发者更加轻松的若干快捷键