SAP NetWeaver AS ABAP Release 740, ©Copyright 2014 SAP AG. All rights reserved.
Cannot Perform Arithmetic Operations on Identically-Named Structure Components
In ABAP Objects, the following statements cause an error message:
ADD-CORRESPONDING struc1 TO struc2.
DIVIDE-CORRESPONDING struc1 BY struc2.
MULTIPLY-CORRESPONDING struc1 BY struc2.
SUBTRACT-CORRESPONDING struc1 FROM struc2.
Cause:
The system performs calculations regardless of the data type of the component. Just
because two components are identically named, it does not follow that the results of these calculations will be meaningful. Therefore, always program these calculations explicitly.
Note:
The same rule applies to the MOVE-CORRESPONDING statement
and the INTO CORRESPONDING FIELDS of the SELECT
statement. At present, these statements cannot be made illegal for practical reasons. However, you should
replace MOVE-CORRESPONDING statements with explicit assignments. This also
allows you to bundle and assign structure components in substructures, in both the source and the target
structure. If a structure cannot contain a substructure, because it is typed with reference to a database
table, you can achieve the same effect using group names (the AS NAMEaddition
of the INCLUDE STRUCTURE | TYPE statement). At least in static cases, you
should avoid the INTO CORRESPONDING FIELDS addition of the SELECT
statement and replace it with explicit field name in an INTO clause, since this addition affects performance.