Ansicht
Dokumentation

ABENBOUND_INDEPENDENT_DTYPE_GUIDL - BOUND INDEPENDENT DTYPE GUIDL

ABENBOUND_INDEPENDENT_DTYPE_GUIDL - BOUND INDEPENDENT DTYPE GUIDL

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

Gebundene und eigenständige Datentypen

Ein gebundener Datentyp existiert nur als Eigenschaft eines Datenobjektes. Er wird dann erzeugt, wenn ein Datenobjekt nicht durch Bezug auf einen eigenständigen Datentyp deklariert wird, der alle technischen Eigenschaften vorgibt, sondern wenn technische Eigenschaften in der Anweisung DATA (DATA hier als Synonym für alle Anweisungen, die Datenobjekte deklarieren, verwendet) selbst festgelegt werden. Der dabei entstehende Typ ist eine Eigenschaft der deklarierten Variable und an diese gebunden. Wird er an mehreren Stellen benötigt, muss er jeweils neu definiert werden.

Ein eigenständiger Datentyp wird im ABAP Dictionary oder mittels der Anweisung TYPES deklariert und definiert sämtliche technischen Eigenschaften eines Datenobjektes, mit einer Ausnahme: Bei der Definition von Tabellentypen können diese betreffs der Schlüsselangabe generisch sein. Ein eigenständiger generischer Typ kann nur für Typisierungen, aber nicht in Datendeklarationen verwendet werden. Es gibt jedoch eine Ausnahme: Ein generischer Standardtabellentyp wird in einer DATA Anweisung um den Standardschlüssel ergänzt.

Eigenständige Datentypen verwenden

Verwenden Sie eigenständige Datentypen anstatt bei der Deklaration von Datenobjekten gebundene Datentypen zu konstruieren.

Für die Deklaration eigenständiger Typen sprechen folgende Gründe:

  • Durch die Deklaration eines eigenständigen Datentyps können mehrere Datenobjekte (oder auch Schnittstellenparameter oder Feldsymbole) einen Typ verwenden, ohne dass dieser immer wieder neu definiert werden muss.
  • Auch wenn zunächst nur ein Datenobjekt dieses Typs benötigt wird, ist die Wahrscheinlichkeit hoch, dass im Laufe der Entwicklung weitere Datenobjekte hinzukommen. Muss später der Typ angepasst werden, ist dies an einer zentralen Stelle möglich.
  • Letztendlich ist die Deklaration eines eigenständigen Typs und seine Verwendung in der Deklaration eines Datenobjektes auch nichts anderes als eine Befolgung von der Regel zum SoC-Prinzip.

Der Datentyp soll stets mit einer bestimmten Bedeutung versehen sein und sein Name entsprechend gewählt werden. Dadurch erhält er eine bestimmte Semantik, was die Lesbarkeit des Programms erhöht. Aus diesem Grund sollen auch für technisch gleichartige, aber semantisch unterschiedliche Datenobjekte unterschiedliche Datentypen deklariert werden. Das erhöht auch die Wahrscheinlichkeit, dass ein Typ später ohne größere Programmänderungen angepasst werden kann.

Die Deklaration rein technischer Datentypen, die nicht mit einer bestimmten Semantik assoziiert werden können, ist eher zu vermeiden, da damit kein Gewinn für die Lesbarkeit oder Erweiterbarkeit eines Programms verbunden ist.

Hinweis

Eine andere Regel legt fest, wo die eigenständigen Datentypen deklariert werden sollen.

Folgender Quelltext zeigt die Deklaration zweier Datenobjekte, die den gleichen Datentyp haben sollen. Die technischen Eigenschaften Länge und Anzahl der Nachkommastellen werden aber als voneinander unabhängige, gebundene Datentypen in der jeweiligen DATA-Anweisung festgelegt.

...
DATA number_1 TYPE p LENGTH 6 DECIMALS 2.
DATA number_2 TYPE p LENGTH 6 DECIMALS 2.
...

In folgendem Quelltext wird die Definition der technischen Eigenschaften der Datenobjekte dem obigen Beispiel in eine getrennte TYPES-Anweisung ausgelagert. Der eigenständige Datentyp wird nur einmal deklariert und ist dann mehrfach verwendbar.

TYPES number_type TYPE p LENGTH 6 DECIMALS 2.
...
DATA: number_1 TYPE number_type,
      number_2 TYPE number_type.
...






TXBHW - Original Tax Base Amount in Local Currency   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4586 Date: 20240523 Time: 173808     sap01-206 ( 86 ms )