Ansicht
Dokumentation
ABENOO_OBS_CORRESPONDING_1 - OO OBS CORRESPONDING 1
ROGBILLS - Synchronize billing plans BAL_S_LOG - Application Log: Log header dataDiese Dokumentation steht unter dem Copyright der SAP AG.
Keine arithmetischen Berechnungen über Namensgleichheit von Strukturkomponenten
-
Die Anweisungen für Berechnungen mit namensgleichen Komponenten zweier Strukturen sind in ABAP Objects verboten.
In ABAP Objects Fehlermeldung bei:
ADD-CORRESPONDING struc1 TO struc2.
DIVIDE-CORRESPONDING struc1 BY struc2.
MULTIPLY-CORRESPONDING struc1 BY struc2.
SUBTRACT-CORRESPONDING struc1 FROM struc2.
Grund:
Die Berechnungen werden unabhängig vom Datentyp der Komponenten durchgeführt.
Die Namensgleichheit kann nicht immer sinnvolle Ergebnisse gewährleisten oder zu Laufzeitfehlern führen. Die Berechnungen sollen stattdessen explizit programmiert werden.
Anmerkung:
Eigentlich gilt das Gleiche auch für die Anweisung MOVE-CORRESPONDING
und den Zusatz INTO CORRESPONDING FIELDS der SELECT-Anweisung. Diese Anweisungen können
aber aus praktischen Gründen zurzeit noch nicht verboten werden. Trotzdem sollte auch MOVE-CORRESPONDING
durch explizite Zuweisungen ersetzt werden. Dabei bietet es sich an, die Komponenten von Strukturen,
die zugewiesen werden sollen, sowohl in Quell- als auch in Zielstruktur zu Unterstrukturen zusammenzufassen
und diese zuzuweisen. Falls eine Struktur keine Unterstrukturen enthalten kann, da sie mit Bezug auf
eine Datenbanktabelle typisiert ist, kann der gleiche Effekt mit Gruppen-Namen (Zusatz AS NAME
der Anweisung INCLUDE STRUCTURE | TYPE) erzielt werden. Der Zusatz INTO CORRESPONDING FIELDS
der SELECT-Anweisung sollte zumindest im statischen Fall schon aus Performancegründen immer vermieden und durch explizite Feldnamen in der INTO-Klausel ersetzt werden.
ROGBILLS - Synchronize billing plans BAL_S_LOG - Application Log: Log header data
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 2012 Date: 20240523 Time: 120123 sap01-206 ( 44 ms )