Ansicht
Dokumentation

ABENOO_OBS_CORRESPONDING_1 - OO OBS CORRESPONDING 1

ABENOO_OBS_CORRESPONDING_1 - OO OBS CORRESPONDING 1

ROGBILLS - Synchronize billing plans   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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 )