乐趣区

关于abap:介绍一个使用-clabapcorresponding-进行两个内表不同名称字段赋值的快捷方法

假如咱们有两个 ABAP 内表,每个内表别离蕴含 a, b 和 a’, b’ 字段。

咱们心愿把内表 1 的 a 和 b 字段,别离赋给内表 2 的 a’ 和 b’ 字段。因为字段名称不雷同,所以无奈应用 MOVE-CORRESPONDING.

传统的做法,是写一个 LOOP,在循环体内,手动把表 1 每一行的字段 a,赋给表 2 每一行的字段 a ’:

其实有一种更简略高效的办法。

应用 cl_abap_corresponding,创立一个映射表,这个映射表,指定如下规定:

  • 将内表的字段值 focus_language,赋给另一个内表的 focus_area 字段。
  • 将内表的字段值 salary,赋给另一个内表的 salary_plus_bonous.

create 办法传入这个映射表,返回一个执行器。调用该执行器的 execute 办法,指定须要进行字段赋值的源内表和指标内表,赋值操作就主动实现了,无需开发人员手动应用 LOOP 赋值。

Execute 办法是在 ABAP 内核中实现的,比在 ABAP 利用中应用 LOOP 要高效。

对于该类的更多细节,请参考我的文章:介绍一种在 ABAP 内核态进行内表高效拷贝的办法,和对应的 Java 和 JavaScript 版本的伪实现 )

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

退出移动版