CL_ABAP_CORRESPONDING用法(将A内表字段赋值给B内表字段)
TYPES: BEGIN 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->EXECUTE( EXPORTING SOURCE = DEVELOPER_LIST
CHANGING DESTINATION = PRESALE_LIST ).
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->EXECUTE( EXPORTING SOURCE = DEVELOPER_LIST
CHANGING DESTINATION = PRESALE_LIST ).

浙公网安备 33010602011771号