
很多 ABAP 老系统最怕的一件事,不是加代码,而是在已经跑了多年的业务流程里补授权检查。代码层面只是一句AUTHORITY-CHECK或一次CL_SACF=AUTH_CHECK_SPEC调用,真正麻烦的是生产系统里的角色、权限对象、组织值、用户职责链条都已经稳定运行。一个新增检查如果直接生效,采购订单创建、会计过账、仓库出入库、外部系统 RFC 调用,都可能在上线当天突然报没有权限。SAP 提供的 Switchable Authorization Check Framework,也就是常说的 SACF,正是为了解决这种尴尬场景。SAP 官方文档对这个框架的定位很清楚,它允许开发人员在现有开发对象中交付新的授权检查,同时避免直接冲击生产系统,由系统管理员决定何时以及如何让这些新授权生效。(SAP Help Portal)在 ABAP 开发视角里,SACF 不是替代所有AUTHORITY-CHECK的新语法,也不是 PFCG 的另一个入口。它更像一个缓冲层。开发人员在代码中声明某个授权检查属于某个业务场景,管理员在系统中把这个场景变成 productive scenario,并根据实际业务运行情况决定检查状态。SAP 官方仍然建议直接使用AUTHORITY-CHEC