RAP 里的 managed 与 unmanaged,别把它们理解成自动档和手动档那么简单

📅 2026/6/24 12:28:47
RAP 里的 managed 与 unmanaged,别把它们理解成自动档和手动档那么简单
我在做 RAP 项目设计时,最怕的一种情况不是代码写不出来,而是团队一开始就把 managed scenario 和 unmanaged scenario 当成两个纯技术模板来选。很多项目后来难维护,不是因为 RAP 不好用,而是因为业务对象的生命周期、保存逻辑、旧代码复用方式、锁机制、编号逻辑这些问题,在建模阶段没有想清楚。RAP 的 managed 与 unmanaged,真正的分界线不在于有没有 behavior definition,也不在于是不是 Fiori elements 应用。两者都属于 ABAP RESTful Application Programming Model,都通过 CDS view entity 建模业务对象,也都通过 behavior definition 描述行为。SAP 官方文档对这两类实现方式的说法很直接,RAP business object 的两种标准实现类型是 managed 和 unmanaged,差异主要体现在业务对象 transactional behavior 由谁提供,选择哪一种,很大程度取决于应用需要多少自由编码空间。(SAP Help Portal)这句话放到项目里看,managed 更像把业务对象交给 RAP BO runtime 接管,标准 CRUD、事务缓冲、标准保存过程大多由框架处理;unmanaged 则是把