1. What is ABAP Managed Database Procedure?
ABAP Managed Database Procedure (AMDP) is a class-based framework for managing and
calling database procedures (or) stored procedures in ABAP.
2. What is an AMDP Class?
A global class which contains marker tag interface IF_AMDP_MARKER_XXX, where XXX
means database like IF_AMDP_MARKER_HDB for SAP HANA database.
3. What is the transaction code to check the missing authorizations
for AMDP execution?
SICK
4. Can we create/edit AMDP in SAP GUI using transaction SE24?
No, ABAP Managed Database Procedures (AMDP) are created and managed using Eclipse-
based ABAP Development Tools(ADT).
5. How to check if database support AMDP procedures?
We can the database support by using the constant CALL_AMDP_METHOD of the
class CL_ABAP_DBFEATURES.
6. Which one you choose AMDP or Open SQL? If the task can be
achieved by both.
If the task can be achieved by both it is recommended to use Open SQL or ABAP CDS.
7. How many types of AMDP methods exists?
There are two types AMDP methods,
AMDP Procedures which are implemented with addition
BY_DATABASE_PROCEDURE and
AMDP Function which is implements with addition BY_DATABASE_FUNCTION
8. Can a constructor in the class implemented as AMDP method?
No, Constructors cannot be implemented as AMDP methods.
9. How to call ABAP procedure in an ABAP program?
An AMDP procedure implementation method is called from an ABAP program in the same
as normal SE24 ABAP class method calling.
10. If your database does not support AMDP what are the
alternatives?
In database system which does not support AMDP, we can use Open SQL or Native SQL to
implement the same functionality.
11. Does AMDPs support automatic client handling?
No, AMDP does not support automatic client handling, when accessing database tables in
AMDP method client ID must be specified explicitly.
12. Can we implement exception handling for AMDP procedure
methods?
Yes, exception handling is supported for AMDP procedure methods. Some of the
exceptions are
CX_AMDP_VERSION_MISMATCH
CX_AMDP_DBPROC_CREATE_FAILED
CX_AMDP_NATIVE_DBCALL_FAILED
CX_AMDP_NATIVE_DBCALL_FAILED
CX_AMDP_RESULT_TABLE_ERROR
13. Does AMDP function implementations support exception
handling?
No exceptions can be declared for AMDP function implementations.
14. Can we enhance AMDP standard methods?
No, AMDP method does not support implicit enhancement options.
15. Can we use COMMIT and ROLLBACK statements in an AMDP
method?
No, COMMIT and ROLLBACK statements are not permitted.
16. How can we return data from AMDP method?
We can return data from AMDP method using CHANGING parameters.
17. Are CHANGING parameters are pass by value (or) pass by
reference?
The parameters must be declared using VALUE for pass by value. Pass by reference is not
permitted.
18. Can we return data from AMDP method using RETURNING
parameters?
No, return values can not be declared as RETURNING
19. Is it possible to identify an AMDP method by declaration section
of the method?
An AMDP method cannot be identified as an AMDP method in the declaration section of the
class but only in the implementation section.
20. Can AMDP method be declared as static method in the AMDP
class?
Yes AMDP methods are declared in an AMDP class like a regular static
method (or) instance method.
21. Can AMDP class contains regular methods?
An AMDP class can contain both regular methods and AMDP methods.