Ansicht
Dokumentation

ABENDERIVED_TYPE_HIERARCHY_ABEXA - DERIVED TYPE HIERARCHY ABEXA

ABENDERIVED_TYPE_HIERARCHY_ABEXA - DERIVED TYPE HIERARCHY ABEXA

RFUMSV00 - Advance Return for Tax on Sales/Purchases   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Verwendung von TYPE TABLE/TYPE STRUCTURE FOR HIERARCHY

Mit diesem Beispiel werden Aktionen demonstriert, deren tiefe Eingabeparameter und tiefe Ausgabeparameter die abgeleiteten BDEF-Typen TYPE TABLE FOR HIERARCHY und TYPE STRUCTURE FOR HIERARCHY mit einem verwalteten RAP-BO verwenden.

Datenmodell

Das CDS-Datenmodell besteht aus der Wurzelentität DEMO_MANAGED_HIERARCHY:

Weiterhin verwendet das Beispiele folgende abstrakte Entitäten:

Verhaltensdefinition

Die CDS-Verhaltensdefinition DEMO_MANAGED_HIERARCHY wird in CDS BDL wie folgt definiert:

Mit der Notation numbering : managed für das Schlüsselfeld wird der Wert des Schlüsselwertes für jedes RAP-BO automatisch erzeugt.

Weitere BDEFs für abstrakte Wurzelentitäten, die für das Beispiel relevant sind:

Verhaltensimplementierung

Für die genannte CDS-Verhaltensdefinition wurde ein ABAP-Behavior-Pool (ABP) angelegt. Die globale Klasse des Verhaltens-Pools ist BP_DEMO_MANAGED_HIERARCHY. Die eigentliche Verhaltensimplementierung findet in lokalen Klassen statt, die im BP_DEMO_MANAGED_HIERARCHY=====CCIMP des Behavior-Pools definiert und implementiert werden.

Die folgenden Methoden sind im Beispiel relevant:

  • action_flat_param
Die Methode verwendet eine Schleife über den flachen Eingabeparameter. In der Schleife werden die Komponenten einer Struktur mit den Werten aus dem Eingabeparameter gefüllt. Außerdem werden diese Werte innerhalb der Schleife geändert. Die Änderung besteht aus dem Hinzufügen von Zeichen zu den Zeichenfeldern und einer Berechnung für die numerischen Felder. Mit dem Ausgabeparameter result werden die geänderten Instanzen zurückgegeben. Weiterhin werden die Instanzen einer internen Tabellen hinzugefügt, die mit dem abgeleiteten BDEF-Typ TYPE TABLE FOR CREATE typisiert ist. Diese interne Tabelle mit RAP-BO-Instanzen wird als Eingabe für eine anlegende RAP-Operation verwendet.
  • action_deep_param
Die Methode verwendet eine Schleife über den tiefen Eingabeparameter, der eine Struktur vom Typ TYPE STRUCTURE FOR HIERARCHY umfasst. In der Schleife werden die Komponenten einer Struktur mit selektierten Werten aus den abstrakten Entitäten gefüllt. Diese Werte werden wie in der vorherigen Methode geändert. Die Struktur wird sowohl dem Ausgabeparameter result hinzugefügt als auch einer internen Tabelle, auf deren Basis eine anlegende RAP-Operation durchgeführt wird.
  • action_deep_table_param
Die Methode verwendet eine Schleife über den tiefen Eingabeparameter, der eine Tabelle vom Typ TYPE TABLE FOR HIERARCHY umfasst. In der Schleife werden die Komponenten einer Struktur mit selektierten Werten aus den abstrakten Entitäten gefüllt. Diese Werte werden wie in den vorherigen Methoden geändert. Die Struktur wird sowohl dem Ausgabeparameter result hinzugefügt als auch einer internen Tabelle, auf deren Basis eine anlegende RAP-Operation durchgeführt wird.
  • returnhdata
Mit dieser Methode werden Hierarchiedaten zurückgegeben. Diese Methode hat die Verwendung von entweder mit TYPE TABLE FOR HIERARCHY oder TYPE STRUCTURE FOR HIERARCHY typisierten Variablen im Fokus. Hiermit wird der Aufbau der abgeleiteten BDEF-Typkomponente %param visualisiert, die im Ausgabeparameter result enthalten ist, d.h. die Komponente kann selbst Unterkomponenten vom Typ TYPE TABLE FOR HIERARCHY und TYPE STRUCTURE FOR HIERARCHY enthalten. Die Variablen, d.h. die Strukturen und interne Tabellen, werden mit Demonstrationsdaten gefüllt. Diese Daten werden dem Ausgabeparameter result hinzugefügt.
  • storehdata
Die Methode verwendet eine Schleife über den tiefen Eingabeparameter, der eine Struktur vom Typ TYPE STRUCTURE FOR HIERARCHY umfasst. In der Schleife wird eine mit TYPE TABLE FOR CREATE typisierte interne Tabelle mit selektierten Werten aus den abstrakten Entitäten gefüllt. Es wird eine anlegende RAP-Operation durchgeführt, die die der internen Tabellen hinzugefügten Instanzen anlegt. Weiterhin werden die Instanzen dem Ausgabeparameter result hinzugefügt.

Quelltext

Ausführen

Beschreibung

Zugriff mit ABAP über EML

Das Programm enthält mehrere MODIFY-Anforderungen, die Aktionen ausführen. Die Eingabeparameter für diese Aktionen werden vor der Ausführung der Aktionen vorbereitet. In diesem Fall werden mehrere mit TYPE TABLE FOR HIERARCHY oder TYPE STRUCTURE FOR HIERARCHY typisierten interne Tabellen und Strukturen angelegt. Die Strukturen und interne Tabelle werden mit Demonstrationswerten gefüllt, damit Eingabeparameter für die Aktionen mit tiefen Parametern bereitgestellt werden. Bei der Aktion action_deep_param ist der Eingabeparameter eine Struktur. Bei der Aktion action_deep_table_param ist der Eingabeparameter eine interne Tabelle. Mit der Wertezuordnung werden die Hierarchiedaten und möglichen Komponenten der abgeleiteten BDEF-Typen nur visualisiert, d.h. mehrere Typen mit FOR HIERARCHY können in diesen abgeleiteten BDEF-Typen vorkommen.

Die folgenden -MODIFY-Anforderungen, die Aktionen ausführen, sind im Beispiel enthalten:

  1. Ausführende Aktion action_flat_param
Eine Inhalts-ID %cid und ein flacher Parameter %param werden als Eingabeparameter bereitgestellt. Mit einer COMMIT ENTITIES-Anweisung wird das Sichern der RAP-BO-Instanzen auf der Datenbank ausgelöst. Das Aktionsergebnis wird auf der Grundlage der oben erwähnten Methodenimplementierung ausgegeben. Mit einer SELECT-Anweisung werden die Datenbanktabelleneinträge geholt und als Folge der Aktionsausführung ausgegeben.
  1. Ausführende Aktion action_deep_param
Eine Inhalts-ID %cid und ein tiefer Parameter %param werden als Eingabeparameter bereitgestellt. Dabei ist %param eine Struktur. Mit einer COMMIT ENTITIES-Anweisung wird das Sichern der RAP-BO-Instanzen auf der Datenbank ausgelöst. Das Aktionsergebnis wird auf der Grundlage der oben erwähnten Methodenimplementierung ausgegeben. Mit einer SELECT-Anweisung werden die Datenbanktabelleneinträge geholt und auch ausgegeben.
  1. Ausführende action_deep_table_param
Eine Inhalts-ID %cid und ein tiefer Parameter %param werden als Eingabeparameter bereitgestellt. Dabei ist %param eine interne Tabelle. Mit einer COMMIT ENTITIES-Anweisung wird das Sichern der RAP-BO-Instanzen auf der Datenbank ausgelöst. Das Aktionsergebnis wird auf der Grundlage der oben erwähnten Methodenimplementierung ausgegeben. Die Datenbanktabelleneinträge werden auch ausgegeben.
  1. Ausführende Aktionen returnhdata und storehdata
Eine Inhalts-ID %cid wird als Eingabeparameter für die Methode returnhdata bereitgestellt. Die Methode gibt auf der Grundlage der oben erwähnten Methodenimplementierung Daten zurück. Diese Daten werden als Eingabeparameter für die Methode storehdata verwendet, die eine anlegende RAP-Operation für das Anlegen von RAP-BO-Instanzen enthält. Mit einer COMMIT ENTITIES-Anweisung wird das Sichern der RAP-BO-Instanzen auf der Datenbank ausgelöst. Sowohl das Ergebnis beider Aktionen als auch die Datenbanktabelleneinträge werden ausgegeben.





BAL_S_LOG - Application Log: Log header data   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 11821 Date: 20240606 Time: 040331     sap01-206 ( 224 ms )