在 SAP 新一代开发模型里,transactional contract并不是一个只存在于文档角落里的术语,它实际上定义了 ABAP 代码在事务运行过程中能做什么、不能做什么。这个机制的意义,不只是限制开发者的自由,而是把事务一致性从靠经验推进到靠框架与规则共同保障。SAP 官方将它定义为:在某个 transactional phase 中,明确哪些 ABAP 语句与操作被允许,哪些不被允许;可用的 contract 包括SAVE、MODIFY、FUNCTIONAL、SURFACE、READ、COMPLETE,其中SAVE和MODIFY会在两个事务阶段里被隐式启用。相关 contract 可以通过IF_ABAP_TX...这一类 API classification 显式声明,并且在 controlled SAP LUW 以及 transactional context 中被检查。(SAP Help Portal)