CL_ABAP_CORRESPONDING用法(将A内表字段赋值给B内表字段)

TYPESBEGIN OF DEVELOPER,
         FOCUS_LANGUAGE TYPE STRING,
         SALARY         TYPE I,
         NAME           TYPE STRING,
       END OF DEVELOPER,

       BEGIN OF PRESALE,
         FOCUS_AREA        TYPE STRING,
         SALARY_PLUS_BONUS TYPE I,
         NAME              TYPE STRING,
       END OF PRESALE.

DATA: DEVELOPER_LIST TYPE TABLE OF DEVELOPER WITH EMPTY KEY,
      PRESALE_LIST   TYPE TABLE OF PRESALE WITH EMPTY KEY.

DEVELOPER_LIST VALUE #(
  ( NAME 'FICO' FOCUS_LANGUAGE 'ABAP' SALARY 2000 )
  ( NAME 'SD' FOCUS_LANGUAGE 'Java' SALARY 2050 ).

PRESALE_LIST VALUE #( NAME 'FICO'  ( NAME 'SD'  ).

DATA(LO_MAPPING_EXECUTOR= CL_ABAP_CORRESPONDING=>CREATE(
  SOURCE              = DEVELOPER_LIST
  DESTINATION       = PRESALE_LIST
  MAPPING           VALUE CL_ABAP_CORRESPONDING=>MAPPING_TABLE(
   ( LEVEL 0 KIND 1 SRCNAME 'focus_language' DSTNAME 'focus_area' )
   ( LEVEL 0 KIND 1 SRCNAME 'salary' DSTNAME 'salary_plus_bonus' ).

LO_MAPPING_EXECUTOR->EXECUTEEXPORTING SOURCE      = DEVELOPER_LIST
                              CHANGING  DESTINATION = PRESALE_LIST ).
posted @ 2025-03-03 10:50  下一詀110  阅读(45)  评论(0)    收藏  举报