AMDP (ABAP)

Aus MattWiki
Version vom 25. April 2018, 12:01 Uhr von Matt (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „AMDP steht für ABAP Managed Database Procedures. Damit wird das Paradigma Code-to-Data umgesetzt. Möglichkeiten: * SQLscript kann in ABAP-Klassen gespeicher…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

AMDP steht für ABAP Managed Database Procedures. Damit wird das Paradigma Code-to-Data umgesetzt.

Möglichkeiten:

  • SQLscript kann in ABAP-Klassen gespeichert werden
  • ABAP-Transportsystem kann genutzt werden - Zusätzliches HANA-Transportsystem nicht notwendig


Codebeispiel

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.