abap-sql-amdplisted
Install: claude install-skill williamcorrea23/sap-router-skill
# ABAP SQL and AMDP
AMDP (ABAP Managed Database Procedures) and SQL patterns for SAP HANA.
## AMDP Class Structure
```abap
CLASS zcl_material_amdp DEFINITION PUBLIC FINAL CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES if_amdp_marker_hdb.
TYPES: BEGIN OF ty_material,
matnr TYPE matnr,
maktx TYPE maktx,
END OF ty_material,
ty_materials TYPE STANDARD TABLE OF ty_material WITH EMPTY KEY.
CLASS-METHODS get_active_materials
EXPORTING VALUE(et_materials) TYPE ty_materials.
ENDCLASS.
CLASS zcl_material_amdp IMPLEMENTATION.
METHOD get_active_materials
BY DATABASE PROCEDURE FOR HDB LANGUAGE SQLSCRIPT
OPTIONS READ-ONLY
USING mara makt.
et_materials = SELECT
mara.matnr,
makt.maktx
FROM mara
INNER JOIN makt
ON mara.matnr = makt.matnr
WHERE mara.lvorm = ''
AND makt.spras = 'E';
ENDMETHOD.
ENDCLASS.
```
## CDS Table Function (uses AMDP behind the scenes)
```cds
@ClientDependent: true
define table function Z_TF_MATERIAL
with parameters @Environment.systemField: #CLIENT
p_language : spras
returns {
mandt : mandt;
matnr : matnr;
maktx : maktx;
}
implemented by method zcl_tf_material=>get_data;
" ABAP implementation class
CLASS zcl_tf_material DEFINITION PUBLIC FINAL CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES if_amdp_marker_hdb.
CLASS-METHODS get_data FOR TABLE FUNCTION z_tf_material.
ENDCLASS.
CLASS zcl_tf_material IMPLEMEN