MOVE-CORRESPONDING struc1 TO struc2.
struc1 and struc2
must be structures.
Searches for all names of subfields that occur both in struc1
and struc2. Generates for all relevant field pairs which
correspond to the subfields ni, statements of the form
MOVE struc1-ni TO struc2-ni.
The other fields remain unchanged.
DATA: BEGIN OF INT_TABLE OCCURS 10,
WORD(10),
NUMBER
TYPE I,
INDEX LIKE SY-INDEX,
END
OF INT_TABLE,
BEGIN OF RECORD,
NAME(10)
VALUE 'not WORD',
NUMBER TYPE I,
INDEX(20),
END OF RECORD.
...
MOVE-CORRESPONDING INT_TABLE TO RECORD.
This MOVE-CORRESPONDING statement is equivalent to both the following statements:
MOVE INT_TABLE-NUMBER TO RECORD-NUMBER.
MOVE INT_TABLE-INDEX TO RECORD-INDEX.
TYPES: BEGIN OF ROW1_3,
CO1 TYPE I,
CO2 TYPE I,
CO3 TYPE I,
END OF ROW1_3.
TYPES: BEGIN OF ROW2_4,
CO2 TYPE I,
CO3 TYPE I,
CO4 TYPE I,
END OF ROW2_4.
TYPES: BEGIN OF
MATRIX1,
R1 TYPE ROW1_3,
R2 TYPE ROW1_3,
R3 TYPE ROW1_3,
END OF MATRIX1.
TYPES: BEGIN OF MATRIX2,
R2 TYPE ROW2_4,
R3 TYPE ROW2_4,
R4 TYPE ROW2_4,
END OF MATRIX2.
DATA: ROW TYPE
ROW1_3,
M1 TYPE MATRIX1,
M2 TYPE
MATRIX2.
ROW-CO1 = 1. ROW-CO2 = 2. ROW-CO3 = 3.
MOVE: ROW TO M1-R1, ROW TO M1-R2, ROW TO M1-R3.
MOVE-CORRESPONDING M1 TO M2.
The last MOVE-CORRESPONDING statement is equivalent to the statements:
MOVE: M1-R2-CO2 TO M2-R2-CO2,
M1-R2-CO3 TO M2-R2-CO3,
M1-R3-CO2
TO M2-R3-CO2,
M1-R3-CO3 TO M2-R3-CO3.
Non-Catchable Exceptions
MOVE, ADD-CORRESPONDING,
SUBTRACT-CORRESPONDING,
MULTIPLY-CORRESPONDING,
DIVIDE-CORRESPONDING
Assigning Values Using MOVE