AMDP 完全参考,从 ABAP 类到 SAP HANA SQLScript 的一条干净通道
我今天在整理一段 S/4HANA 扩展代码时,又遇到一个很典型的取舍,业务方希望在一个查询里完成复杂聚合、窗口计算和按航空公司维度取最大飞行时间。用普通 ABAP SQL 写不是不行,但代码会被拆成多段,内部表来回搬运,性能也会被网络往返和应用服务器循环拖住。这个场景正好适合把计算推到 SAP HANA 侧,用 AMDP 承载 SQLScript,再让 ABAP 层继续负责对象生命周期、传输、调用入口和治理边界。
AMDP 的全称是 ABAP Managed Database Procedures,它不是单纯把一段存储过程塞到数据库里,而是把数据库过程和数据库函数纳入 ABAP 类方法的管理方式。SAP Help 对它的定位很清楚,AMDP 允许 ABAP 开发人员直接在 ABAP 中编写数据库过程,特殊的 AMDP 类里可以包含 SQLScript,最终由框架在 SAP HANA 数据库层生成对应的数据库对象;同一份说明也强调,AMDP 的生命周期由 AS ABAP 侧管理,开发、维护和传输都在 ABAP 对象体系里完成。(SAP Help Portal)
