资讯动态

从模型驱动到事务一致性,ABAP Cloud 为什么把业务模型和 SAP LUW 绑在一起

发布时间:2026/10/3 2:39:37 来源:尧图企业网站定制
一个很典型的 SAP S/4HANA 扩展场景,是在一个业务对象里同时维护抬头、行项目、金额、状态、审批条件和后续事件。表面上看,这只是几张表之间的增删改查,真正进入生产系统以后,问题很快就会变复杂。抬头保存成功而行项目失败,状态已经改成已批准但审批日志没有生成,数据库记录已经写入而业务事件却在事务回滚后仍然被外部系统消费,这些都不是简单的 SQL 技巧可以解决的问题。系统真正需要保证的是,业务对象从一个合法状态迁移到另一个合法状态,中间发生的临时不一致不能泄漏成最终结果。ABAP Cloud 里的 model-driven architecture 正是从这里切入。这里的模型并不只是画在设计文档里的实体关系图,也不只是几个 CDS View Entity。模型需要同时描述数据结构、实体之间的组成关系、允许执行的操作、字段约束、锁、并发控制、校验、派生逻辑、动作以及保存行为。RAP 的 behavior definition 直接建立在 CDS 数据模型之上,一个 behavior definition 对应一个 CDS root entity,并覆盖其 composition tree 中的子实体。SAP 官方也把 RAP 定义为 ABAP Cloud 的事务编程模型,数据建模依赖 CDS entity,事务行为则由 RAP business object 和 behavior definition 提供。这套设计和 transactional consistency 的关系非常紧。传统 ABAP 开发里,事务一致性长期依赖开发人员对 SAP LUW 规则的理解。代码可以在很多位置执行 Open SQL,可以显式或者间接触发提交,也可以调用一个内部实现并不透明的函数模块。只要团队纪律足够好,系统当然可以运行得很稳定,但纪律很难成为

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑