Ansicht
Dokumentation

ABAPTYPES_MESH_ASSOCIATION - TYPES MESH ASSOCIATION

ABAPTYPES_MESH_ASSOCIATION - TYPES MESH ASSOCIATION

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

TYPES, association

Kurzreferenz



... ASSOCIATION _assoc TO node ON tcomp1 = scomp1
                             $[AND tcomp2 = scomp2
                             $[AND ... $]$]
                             $[USING KEY key_name$] ...


Zusätze:

1. ... ON tcomp1 = scomp1 $[AND tcomp2 = scomp2 $[AND ... $]$]

2. ... USING KEY key_name

Wirkung

Definition einer Mesh-Assoziation des Namens _assoc für einen Mesh-Knoten eines Mesh-Typs. Der Zusatz ASSOCIATION zu TYPES ist nur bei der Definition eines Knotens eines Mesh-Typs zwischen TYPES BEGIN OF MESH und TYPES END OF MESH möglich. Der Mesh-Knoten für den eine Mesh-Assoziation definiert wird ist deren Startknoten, der hinter TO angegebene Mesh-Knoten node ist der Zielknoten. Für den Zielknoten node kann jeder Knoten des aktuellen Mesh angegeben werden, auch der Startknoten selbst. Eine Mesh-Assoziation mit gleichem Start- und Zielknoten ist eine Selbstassoziation oder auch reflexive Assoziation.

Der Name einer Mesh-Assoziation darf maximal 30 Zeichen lang und nur aus den Buchstaben "A" bis "Z", den Ziffern "0" bis "9" und dem Unterstrich "_" aufgebaut sein und nicht mit einer Ziffer beginnen.

Hinweise

  • Ein Zielknoten muss nicht vor seinem Startknoten definiert werden, um für diesen sichtbar zu sein. Die Code Completion des Editors funktioniert aber nur dann vollständig, wenn dies der Fall ist.
  • Als Namenskonvention für Mesh-Assoziationen wird das Präfix _ empfohlen. Der darauf folgende Namen sollte in nichtreflexiven Mesh-Assoziationen den Namen des Zielknotens enthalten. Diese Konvention dient der Lesbarkeit eines Mesh-Pfads.

Zusatz 1

... ON tcomp1 = scomp1 $[AND tcomp2 = scomp2 $[AND ... $]$]

Wirkung

Für jede Mesh-Assoziation muss eine Bedingung hinter ON angegeben, die aus mindestens einem Vergleich auf Gleichheit besteht. Optional können weitere Vergleiche auf Gleichheit mit AND hinzugefügt werden. Der linke Operand tcomp jedes Vergleichs muss eine direkt angegebene Spalte des Zielknotens und der rechte Operand scomp muss eine direkt angegebene Spalte des Startknotens sein, die zur Spalte des Zielknotens kompatibel ist.

Eine Mesh-Assoziation stellt eine Beziehung zwischen dem Start- und dem Zielknoten her, die einer Zeile des Startknotens alle Zeilen des Zielknotens zuordnet, welche die Bedingung erfüllen.

Die Mesh-Assoziationen sind reine Typeigenschaften und haben als solche auch Einfluss auf die Kompatibilität von Mesh-Typen. Die Auswertung der Mesh-Assoziationen erfolgt in Mesh-Pfaden in Ausdrücken und Anweisungen für Meshes.

Hinweise

  • Dass die Komponenten des Zielknotens in der ON-Bedingung links und die des Startknotens rechts stehen ist analog zu sonstigen Anweisungen und Ausdrücken für interne Tabellen, wo die Spalten der zu durchsuchenden Tabelle auch immer links aufgeführt sind.
  • Als Faustregel ist es immer sinnvoll, dass die in einer ON-Bedingung links aufgeführten Komponenten des Zielknotens Schlüsselfelder des für die Bedingung verwendeten Tabellenschlüssels sind, um einen möglichst performanten Zugriff zu erreichen.

Zusatz 2

... USING KEY key_name

Wirkung

Mit dem Zusatz USING KEY kann für die ON-Bedingung einer Mesh-Assoziation ein Tabellenschlüssel des Zielknotens angegeben werden, der in den Ausdrücken und Anweisungen zu Auswertung von Meshes für den Zugriff auf den Mesh-Knoten verwendet wird:

  • Der Primärschlüssel über seinen vordefinierten Namen primary_key oder über einen Aliasnamen. Bei Angabe des Primärschlüssels muss der Zielknoten eine sortierte Tabelle oder eine Hash-Tabelle sein.

Der Name des Tabellenschlüssels muss direkt angegeben werden, d.h. es ist keine dynamische Angabe in einem Datenobjekt möglich. Wenn der Tabellenschlüssel explizit angegeben ist, muss die ON-Bedingung so definiert sein, dass ein optimierter Schlüsselzugriff möglich ist:

  • Wenn ein sortierter Schlüssel oder der Primärschlüssel einer sortierten Tabelle angegeben ist, müssen die hinter ON angegebenen Bedingungen ein linkes Anfangsstück der Schlüsselfelder der Zieltabelle abdecken.
  • Wenn ein sekundärer Hash-Schlüssel oder Primärschlüssel einer Hash-Tabelle angegeben ist, müssen die hinter ON angegebenen Bedingungen alle Schlüsselfelder der Zieltabelle abdecken.

Ohne den Zusatz USING KEY wird über den Primärschlüssel auf den Mesh-Knoten zugegriffen und der Zugriff ist nicht immer optimiert.

Hinweis

Der bei der Definition der ON-Bedingung angegebene Tabellenschlüssel kann bei der Verwendung der Mesh-Assoziation in einem Mesh-Pfad durch die Angabe von USING KEY in einer zusätzlichen Bedingung übersteuert werden. In diesem Fall wird die ON-Bedingung mit der zusätzlichen Bedingung zu einer Bedingung zusammengefasst, die obige Voraussetzungen erfüllen muss.

Beispiel

Deklaration eines Mesh-Typs. Die verwendeten internen Tabellen haben teilweise Sekundärschlüssel, die mit USING in den Definitionen der Mesh-Assoziationen verwendet werden.






Vendor Master (General Section)   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8316 Date: 20240605 Time: 112902     sap01-206 ( 120 ms )