AMDP (ABAP): Unterschied zwischen den Versionen
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 7: | Zeile 7: | ||
Mehr zum in AMDP verwendeten SQLScript siehe [[SQLScript_(SAP)]] | Mehr zum in AMDP verwendeten SQLScript siehe [[SQLScript_(SAP)]] | ||
== AMDP- | == AMDP-Klasse definieren == | ||
Damit AMDP-Methoden genutzt werden können, muss | Damit AMDP-Methoden genutzt werden können, muss die Klasse das folgende Interface vorhanden sein: | ||
<syntaxhighlight lang="abap"> | <syntaxhighlight lang="abap"> | ||
Zeile 42: | Zeile 42: | ||
|- | |- | ||
| CHANGING || Ja | | CHANGING || Ja | ||
|} | |||
Die AMDP-Methoden müssen im Implementierungs-Teil als solche gekennzeichnet werden: | |||
{| class="wikitable" | |||
! Schlüsselwort !! Bedeutung | |||
|- | |||
| BY DATABASE PROCEDURE || Kennzeichnung als AMDP-Methode | |||
|- | |||
| FOR HDB || Ausführung auf Hana-Datenbank | |||
|- | |||
| LANGUAGE SQLSCRIPT || Sprache: SQLScript. Weitere Möglichkeiten: "L" oder "R" | |||
|- | |||
| READ-ONLY || Datenbank liest ausschließlich Daten | |||
|- | |||
| USING || Angabe, welche DDIC-Objekte und andere AMDPs verwendet werden. Notwendig für die Abhängigkeiten-Verwaltung. | |||
|} | |} | ||
Version vom 26. April 2018, 09:11 Uhr
AMDP steht für ABAP Managed Database Procedures. Damit wird das Paradigma Code-to-Data umgesetzt.
Eine AMDP-Methode ist eine Methode einer ABAP-Klasse, die jedoch statt ABAP-Code SQLScript enthält.
Dieser Artikel enthält grundsätzliche Informationen über AMDP.
Mehr zum in AMDP verwendeten SQLScript siehe SQLScript_(SAP)
AMDP-Klasse definieren
Damit AMDP-Methoden genutzt werden können, muss die Klasse das folgende Interface vorhanden sein:
CLASS ZMO_CL_AMDP_01 DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
" Interface notwendig, um in Klasse AMDP nutzen zu können
INTERFACES: IF_AMDP_MARKER_HDB.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
Eigenschaften von AMDP-Methoden
Parameterübergaben nur mit Value möglich.
Unterstützte Parameter:
Parametertyp | Unterstützt |
---|---|
IMPORTING | Ja |
EXPORTING | Ja |
RETURNING | Nein |
CHANGING | Ja |
Die AMDP-Methoden müssen im Implementierungs-Teil als solche gekennzeichnet werden:
Schlüsselwort | Bedeutung |
---|---|
BY DATABASE PROCEDURE | Kennzeichnung als AMDP-Methode |
FOR HDB | Ausführung auf Hana-Datenbank |
LANGUAGE SQLSCRIPT | Sprache: SQLScript. Weitere Möglichkeiten: "L" oder "R" |
READ-ONLY | Datenbank liest ausschließlich Daten |
USING | Angabe, welche DDIC-Objekte und andere AMDPs verwendet werden. Notwendig für die Abhängigkeiten-Verwaltung. |
Codebeispiel AMDP-fähige Klasse
CLASS ZMAOT_CL_AMDP_01 DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
" Interface notwendig, um in Klasse AMDP nutzen zu können
INTERFACES: IF_AMDP_MARKER_HDB.
" Import- und Export-Parameter werden als VALUE übergeben
" Export-Parameter einen statischen Datentyp / Tabellentyp haben
CLASS-METHODS:
METHOD_01_READ
EXPORTING
VALUE(ET_AMDP) TYPE ZTW_TT_AMDP_DEMO_01
RAISING
CX_AMDP_ERROR.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS ZMAOT_CL_AMDP_01 IMPLEMENTATION.
METHOD METHOD_01_READ BY DATABASE PROCEDURE FOR HDB LANGUAGE SQLSCRIPT OPTIONS READ-ONLY USING ZTW_AMDP_DEMO_01.
et_amdp =
select * from ZTW_AMDP_DEMO_01;
ENDMETHOD.
ENDCLASS.
Transporte
Mit AMDP kann das ABAP-Transportsystem genutzt werden - Zusätzliche HANA-Transporte sind nicht notwendig.
Zugriffsrechte und Benutzerparameter
Benutzerparameter: Benutzerparameter (ABAP)
Zugriffsrechte: Zugriffsrechte (SAP)