ABAP Programs: Copying structured objects

* Using move-corresponding to copy fields with the same name
DATA: BEGIN OF MY_CUSTOMER,
ID(8) TYPE N,
NAME(25),
CITY(25),
END OF MY_CUSTOMER,
BEGIN OF CITY_OF_CUSTOMER,
CITY LIKE MY_CUSTOMER-CITY,
TEXT(30),
ID LIKE MY_CUSTOMER-ID,
END OF CITY_OF_CUSTOMER.

MY_CUSTOMER-ID = ’87654321′.
CITY_OF_CUSTOMER-TEXT = ‘Old text’.
MOVE-CORRESPONDING MY_CUSTOMER TO CITY_OF_CUSTOMER.
WRITE: / ‘Changed ID’, CITY_OF_CUSTOMER-ID,
/ ‘Unchanged text’, CITY_OF_CUSTOMER-TEXT.

* Using the move command for structures
DATA: CURRENT_CUSTOMER LIKE MY_CUSTOMER,
BEGIN OF PREVIOUS_CUSTOMER,
IDENTIFIER LIKE MY_CUSTOMER-ID,
NAME LIKE MY_CUSTOMER-NAME,
CITY LIKE MY_CUSTOMER-CITY,
END OF PREVIOUS_CUSTOMER.
CURRENT_CUSTOMER-ID = ’12345678′.
MOVE CURRENT_CUSTOMER TO PREVIOUS_CUSTOMER.
WRITE: / ‘Changed ID’, PREVIOUS_CUSTOMER-IDENTIFIER.

* Copying complete internal tables
TYPES: BEGIN OF TABLE_LINE,
FIELD_1,
FIELD_2 TYPE I,
END OF TABLE_LINE.
DATA: SOURCE_TABLE TYPE TABLE_LINE OCCURS 100,
TARGET_TABLE TYPE TABLE_LINE OCCURS 50.
MOVE SOURCE_TABLE TO TARGET_TABLE.

No comments:

Post a Comment