ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

SAP SRM RFx Response 状态变更实战,真正要驱动的是业务 Activity,而不是直接修改 Status

SAP SRM RFx Response 状态变更实战,真正要驱动的是业务 Activity,而不是直接修改 Status

在 SAP SRM 里处理RFx Response状态时,有一个很容易走偏的地方。我们在数据库里看到的是各种状态,在CRM_JEST之类的状态数据里也能找到对应记录,于是很自然地会产生一种想法,既然目标是把一个RFx Response从当前状态改成 Accepted,能不能直接把 Accepted 对应的状态写进去。

这条路通常不是 SAP SRM 希望应用层采用的方式。

SAP 的通用 Status Management 并不是简单的状态字段维护器。SAP 官方对这套机制的描述很明确,一个业务对象当前可以同时具有多个状态,而状态既记录对象已经处于什么处理阶段,也决定哪些后续业务事务允许执行。更关键的一点是,当一个 business transaction 被执行时,系统可以由此设置或者撤销一个或多个 status。

所以在BBP_PROCDOC_STATUS_CHANGE里,真正需要传入的核心信息并不是目标 Status,而是一个 Activity。

也就是告诉 SAP

某个业务动作发生了。

至于这个动作会导致哪些 system status 被设置、哪些 status 被取消、当前状态组合是否允许执行这个动作,则交给 SAP Status Management 自己判断。

这也是理解BBP_PROCDOC_STATUS_CHANGE最重要的一把钥匙。

SAP Datasheet 对这个 Function Module 的描述就是Change the Object Status

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进