
在 SAP Gateway 的 Push Notification 体系里,有一个很容易被忽略的问题。业务系统知道某个采购订单、工作流任务或者业务对象发生了变化,也知道这类变化应该通知某个业务角色,但真正发送通知时,SAP Gateway 最终面对的接收对象并不是抽象的角色,而是一组具体的 SAP User。也就是说,从Role走到User的这一步必须有人完成。SAP Gateway Foundation 为此提供了一套专门的 Role to User Resolution 能力,核心入口就是 Backend 系统中的工具类/IWBEP/CL_MGW_PUSH_UTIL,以及它的GET_USERS_FROM_ROLES方法。SAP 官方文档明确说明,这项能力属于额外提供的能力,可以根据业务场景选择使用,而且角色到用户的映射既可以发生在 SAP Backend,也可以发生在 SAP Gateway Hub。这个设计看起来只是一个查询角色成员的小功能,实际上它折射出了 SAP Gateway Central Hub 架构里一个很重要的设计思想,也就是业务数据、OData Runtime、身份与角色信息,不一定生活在同一个 ABAP System 里。从 Role Subscription 说起理解GET_USERS_FROM_ROLES之前,需要先把它放回 SAP Gateway 的 Subscription and Notification Flow 里。