Ansicht
Dokumentation

ABENAMDP_CALLS - AMDP CALLS

ABENAMDP_CALLS - AMDP CALLS

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Verwendung

AMDP-Methoden können wie folgt in ABAP-Programmen verwendet werden:

Eine AMDP-Prozedurimplementierung wird aus einem ABAP-Programm wie jede normale Methode von ABAP Objects aufgerufen.

Voraussetzung ist in allen Fällen, dass die Standarddatenbank des aktuellen AS ABAP vom Datenbanksystem verwaltet wird, für das die AMDP-Methode implementiert wird, ansonsten kommt es zu einem Laufzeitfehler.

Vor der ersten Verwendung legt das ABAP-Laufzeit-Framework die in der AMDP-Methode implementierte Prozedur bzw. Funktion im Datenbanksystem der Standarddatenbank des AS ABAP an oder aktualisiert falls notwendig eine bereits vorhandene Datenbankprozedur bzw. Datenbankfunktion. Die Ausführung findet im Datenbanksystem statt, wobei die Schnittstellenparameter von der Native-SQL-Schnittstelle an das Datenbanksystem übergeben bzw. vom Datenbanksystem übernommen werden.

Nachdem eine über AMDP verwaltete Datenbankprozedur oder Datenbankfunktion auf der Datenbank angelegt wurde, kann sie, wenn die Datenbank solche Zugriffe zulässt, mit der dortigen Syntax auch in anderen Datenbankprozeduren bzw. -funktionen verwendet werden. Dieses können wiederum AMDP-Prozeduren oder AMDP-Funktionen, aber auch Datenbankprozeduren oder Datenbankfunktionen sein, die nicht von AMDP verwaltet werden. Wenn eine AMDP-Prozedur bzw. -Funktion eine andere AMDP-Prozedur bzw. -Funktion verwendet, muss diese hinter dem Zusatz USING der aufrufenden Methode aufgeführt sein.

Hinweise

  • Es empfiehlt sich, AMDP-Prozedurimplementierungen, die nicht aus den AMDP-Methoden anderer Klassen aufrufbar sein sollen, als private Methoden einer AMDP-Klasse anzulegen und sie in Abhängigkeit von der Standarddatenbank des AS ABAP in einer normalen Methode aufzurufen. Für Datenbanksysteme, die AMDP nicht unterstützen, kann eine normale Methode mit einer alternativen Implementierung in oder Native SQL angelegt werden.
  • Für den Aufrufer einer AMDP-Prozedurimplementierung aus ABAP ist es in der Regel transparent, ob es sich um eine solche handelt und auf welchem Datenbanksystem sie ausgeführt wird. Deshalb muss bei der Implementierung der Methode dafür gesorgt werden, dass die Schnittstellenparameter in einem Format zurück gegeben werden, das der Aufrufer erwartet. Dies gilt insbesondere für ABAP-Typen, die keinen passenden Typ im Typsystem des Datenbanksystems haben. Entweder dürfen solche Typen nicht in der Schnittstelle angeboten werden oder es muss in der Prozedur ein geeignetes Casting durchgeführt werden.
  • In der Regel werden die von AMDP verwalteten Datenbankprozeduren und Datenbankfunktionen nur über AMDP-Methoden aus ABAP aufgerufen bzw. in verwendet.
  • Der Aufruf von AMDP-verwalteten Datenbankprozeduren oder Datenbankfunktionen aus nicht von AMDP verwalteten Datenbankobjekten oder über Native SQL wird nicht empfohlen. Wenn dies in Ausnahmefällen doch vorkommt, muss zuvor dafür gesorgt werden, dass alle dafür notwendigen Objekte der Datenbank auch vorhanden sind. Hierfür können die öffentlichen Methoden der dokumentierten Klasse CL_AMDP_RUNTIME_SERVICES verwendet werden (siehe Beispiel unter ADBC, Stored Procedures).
  • Ob die aktuelle Datenbank AMDP-Prozeduren unterstützt kann über die Konstante CALL_AMDP_METHOD der Klasse CL_ABAP_DBFEATURES abgefragt werden.





ROGBILLS - Synchronize billing plans   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5448 Date: 20240523 Time: 162011     sap01-206 ( 57 ms )