What is a Database Procedure?
Every database support procedure including SAP HANA. These procedure are implemented using native scripting language(HANA SQL Script in case of HANA database). They created and executed on the database layer. These are highly database specific. So what are ABAP-Managed Database Procedures (AMDP) then? Any guesses?
ABAP Managed Database Procedure
The technique in which stored procedure or database procedure that are stored in ABAP repository and transported by ABAP transport is called ABAP-Managed Database Procedure. The implementation of AMDP is written in HANA SQL Script language and executed on the database.
ABAP Managed Database Procedures is one of the recommended patterns for use in ABAP code optimization on SAP HANA database. Push down approach.
Now that we know the definition of AMDP, lets see how AMDP is created in ABAP.
ABAP-Managed Database Procedures are implemented as methods of a global ABAP class.
AMDP Developing Environment
ABAP-Managed Database Procedures(AMDP) development is only supported in the Eclipse-based development environment (ABAP Development Tools) and NOT in SAP GUI Class Builder, SE24. But you can view the code in SAP GUI Class Builder(SE21).
Now we know that AMDP is implemented as ABAP class methods. So what makes an AMDP class.
An global class, that contains the interfaces “IF_AMDP_MARKER_HDB” is called AMDP Class.
A method declared in AMDP class with addition of “BY DATABASE PROCEDURE” in implementation section is called AMDP method. Along with the database system, language of database system and other options.
Lets look at more closely at AMDP Method syntax
It specifies the database system on which AMDP runs. For example HDB stands for SAP HANA Database
It specifies the database language of the implementation. For example SQL Script
It specifies different database tables which are used inside the ABAP method. Transparent and Dictionary view are supported.
It specifies only reads are permitted on the database tables in the database procedure. READ-ONLY parameter is only supported.
Please feel free to comment and let us know your feedback. Subscribe for more updates
If you liked it, please share it! Thanks!