Ansicht
Dokumentation

ABENC1_CONSUMER_RULES_ELEM - C1 CONSUMER RULES ELEM

ABENC1_CONSUMER_RULES_ELEM - C1 CONSUMER RULES ELEM

ABAP Short Reference   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

C1-Kontraktregeln für die Verwendung von elementaren Typen

Der Datentyp von

  • DDIC-Domänen oder DDIC-Datenelementen
  • Komponenten von DDIC-Strukturen DDIC-Datenbanktabellen oder Elementen von CDS-Entitäten
  • öffentlichen Typen von globalen ABAP-Klassen oder -Interfaces

darf wie folgt geändert werden:

  • Ganzzahlige Typen INT1, INT2 und INT4 oder b, s und i können durch ganzzahlige Typen eines größeren Wertebereichs ersetzt werden.
  • Die Länge der Datentypen CHAR, SSTRING, DEC, CURR, QUAN, DF16_DEC, DF34_DEC oder c, p kann erweitert werden.
  • Die Anzahl der Nachkommastellen der Datentypen DEC, CURR, QUAN, DF16_DEC, DF34_DEC oder p kann erweitert werden.

Diese Änderungen führen alle zu einem im Vergleich zum ursprünglichen Datentyp erweiterten Wertebereich. Ein Consumer muss größere Werte behandeln können. Dies beeinflusst sowohl alle mit einem solchen Typ typisierten elementaren Datenobjekte, wie auch Operationen mit strukturierten Daten, die Komponenten eines solchen Typs enthalten.

Operationen mit elementaren Datenobjekten

Bei der Arbeit mit elementaren Datenobjekten von einem der Typen oben wird das Verhalten nach einer erlaubten Typänderung vom Typ, von der Operandenposition und vom Inhalt bestimmt.

Mögliche Probleme

Beispiele potentieller Probleme sind:

  • Bei Zuordnungen von Datenobjekten mit geändertem Typ zu Datenobjekten ohne geänderten Typ kann der Inhalt abgeschnitten werden oder es kann zu Überlaufausnahmen kommen.
  • In Anweisungen, die kompatible Datentypen benötigen, kann es zu Syntaxfehlern kommen. Beispiele:

  • Zugriff auf interne Tabellen mit einem elementaren Zeilentyp über einen Tabellenschlüssel.

  • Import von Daten aus Daten-Clustern über IMPORT.

  • In Anweisungen, die verlustfreie Zuweisungen benötigen, kann es zu Ausnahmen kommen. Beispiele:

Lösungsansatz

Bei der Deklaration von Datenobjekten sollte immer der freigegebene Datentyp selbst referenziert werden. Selbstdefinierte Typen sollten nicht referenziert werden. Datenobjekte, die freigegebene Typen referenzieren, sollten nur in Operandenpositionen verwendet werden, in denen eine Typänderung zu keinem Fehler führen kann.

Operationen mit Strukturen

Eine Änderung des Datentyps einer Komponente einer Struktur führt auch zu einer Änderung des technischen Typs der vollständigen Struktur. Die Konsequenzen hier sind vielfach, da es einige Operandenpositionen gibt, in denen für Strukturen Kompatibilität erforderlich ist. Im Allgemeinen kann es zu den gleichen Fehlern wie nach einer Änderung der Elemente von Strukturen (wie unten beschrieben) kommen und es gelten die gleichen Lösungsansätze.






RFUMSV00 - Advance Return for Tax on Sales/Purchases   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4343 Date: 20240523 Time: 161357     sap01-206 ( 55 ms )