ABAP MAPPING 代替 LOOP 中MOVE-CORRESPONDING赋值


将GT_OUT[]数据填充至GT_OUT2[]和GT_OUT3[],使用两种方法,分析性能。.

  1. 使用LOOP MOVE-CORRESPONDING 填充。
GET RUN TIME FIELD T1.

LOOP AT  GT_OUT.
  MOVE-CORRESPONDING GT_OUT TO GT_OUT3.
  GT_OUT3-E = GT_OUT-A.
  GT_OUT3-F = GT_OUT-B.

  APPEND GT_OUT3.
ENDLOOP.

GET RUN TIME FIELD T2.
  1. 使用MAPPING填充。
GET RUN TIME FIELD T1.

GT_OUT2[] = CORRESPONDING #( GT_OUT[] MAPPING E = A
                                          F = B  ).

GET RUN TIME FIELD T2.

RUNTIME1 = T2 - T1 .

两种方法结果一样,所花时间如下。

5000条数据,每条数据三个字段,loop所花时间将近mapping的三倍。

posted @ 2022-04-01 11:13  abap菜鸟3  阅读(921)  评论(0)    收藏  举报