Ansicht
Dokumentation
ABENAMDP_HDB_GRAPH - AMDP HDB GRAPH
PERFORM Short Reference Vendor Master (General Section)Diese Dokumentation steht unter dem Copyright der SAP AG.
- Graphenverarbeitung
AMDP unterstützt zwei SAP-HANA-Artefakte für die Verarbeitung von Graphen:
Graph-Workspaces können von Graphenprozeduren konsumiert werden, die GraphScript verwenden. Diese ist die Implementierungssprache einer AMDP-Methode, die den Zusatz FOR HDB LANGUAGE GRAPH in der Anweisung METHOD angibt. Anders als bei AMDP-Prozeduren und AMDP-Funktionen arbeiten Methoden in diesem Kontext mit nichtprozeduralen Datenbankobjekten (DDL-Objekten).
SAP-HANA-Graphenreferenz
Graph-Workspace
Graph-Workspaces werden in AMDP-Methoden, die eine Knotentabelle und eine Kantentabelle als Quellen für ein Modell für einen Graphen deklarieren.
Die Deklaration besteht aus der Schlüsselspalte einer Knotentabelle (Knotenschlüssel), der Schlüsselspalte einer Kantentabelle (Kantenschlüssel) und einer Quellen- und Zielspalte einer Kantentabelle. Zur Zeit sind Graph-Workspaces auf eine Schlüsselspalte und eine Quellen- und Zielspalte beschränkt.
Graph-Workspaces dürfen während einer Syntaxprüfung nicht vorgetäuscht werden. Eine getrennte Signatur steht nicht zur Verfügung und stattdessen muss das vollständige Datenbankobjekt angelegt werden. Es dürfte in einer anderen AMDP-Klasse definiert werden und andere AMDP-Objekte verwenden. Daher ist eine spezielle Behandlung notwendig und es müssen Implementierungsangaben aus anderen Klassen verwendet werden (transitive Syntaxprüfung).
Definition und Implementierung eines Graph-Workspaces
Folgende Quelltextabschnitte sind dem Beispiel - Graphenverarbeitung entnommen.
Definition:
Die Methodendefinition muss den Zusatz FOR DDL OBJECT enthalten.
CLASS-METHODS graph_workspace FOR DDL OBJECT
OPTIONS CDS SESSION CLIENT REQUIRED.
Implementierung:
Die Anweisung METHOD enthält den Zusatz BY DATABASE GRAPH WORKSPACE. Zur Zeit sind hinter dem Zusatz USING nur CDS-Views erlaubt. Die Deklaration der Knotentabelle und Kantentabelle ist enthalten. Die Deklaration besteht aus der Schlüsselspalte einer Knotentabelle (Knotenschlüssel), der Schlüsselspalte einer Kantentabelle (Kantenschlüssel) und einer Quellen- und Zielspalte einer Kantentabelle. Zur Zeit sind Graph-Workspaces auf eine Schlüsselspalte und eine Quellen- und Zielspalte beschränkt.
Graphenprozedur
Graphenprozeduren sind Methoden, die sich auf Graph-Workspaces beziehen und mit Modellen von Graphen arbeiten. Graphenprozeduren dürfen skalare Eingabeparameter und skalare oder tabellarische Ausgabeparameter besitzen. Inkonsistenzen in den zugrundeliegenden Knoten- und Kantentabellen können zu Laufzeitfehlern (CX_AMDP_EXECUTION_FAILED) führen, zum Beispiel beim Nichtvorhandensein der Kantenquelle oder des Kantenziels in der Knotentabelle.
Definition und Implementierung einer Graphenprozedur
Folgende Quelltextabschnitte sind dem Beispiel - Graphenverarbeitung entnommen.
Definition:
Das Beispiel zeigt rein skalare Eingabeparameter. Die Ausgabeparameter sind sowohl skalar als auch tabellarisch.
CLASS-METHODS get_shortest_path
AMDP OPTIONS CDS SESSION CLIENT current
IMPORTING VALUE(im_city_from) TYPE demo_cds_spfli4graph-cityfrom
VALUE(im_city_to) TYPE demo_cds_spfli4graph-cityto
EXPORTING VALUE(ex_weight) TYPE int8
VALUE(ex_route) TYPE tt_conn
RAISING cx_amdp_execution_failed.
Implementierung:
Die Anweisung METHOD enthält den Zusatz FOR HDB LANGUAGE GRAPH zur Kennzeichnung vom GraphScript-Quelltext in der Implementierung. Der Zusatz READ-ONLY ist obligatorisch. Hinter dem Zusatz USING muss ein Graph-Workspace stehen.
Mit dem Beispiel - Graphenverarbeitung wird eine Graphenverarbeitung über den Graph-Workspace und eine Graphenprozedur demonstriert.
BAL Application Log Documentation PERFORM Short Reference
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 7663 Date: 20240523 Time: 180050 sap01-206 ( 100 ms )