
我们的采购申请刚进入审批,业务人员仍要查看单据,后台作业也仍要统计金额,但普通经办人暂时不该对它执行某项操作。这样的需求很像《仙剑奇侠传 1》里的隐蛊,却也最容易因为一个「隐藏」字而设计错。把按钮藏起来、把查询结果过滤掉、禁止修改单据,是三件不同的事。若把它们混成一种机制,页面上看似隐身的对象,往往还能从接口、报表或另一条业务路径被找到。游戏资料对隐蛊的描述是我方全体隐形三回合。这个设定里有几个值得保留的细节,效果作用于一组成员,有明确的持续时间,而且隐形期间成员依然存在。我们借它讨论 ABAP 时,可以把「敌方无法选中我方」理解为「某类调用方暂时不能把特定业务对象作为某项操作的目标」。这只是业务规则的类比,SAP 并没有一个名为隐蛊的标准物品、语句或开关,也不存在一条通用指令,能让记录对所有程序暂时消失。围绕这个类比,最关键的问题不是怎样隐藏,而是谁看不见、在什么时间内看不见、哪一种行为受到限制。一张采购申请可以在普通员工的待处理列表中暂时不出现,同时仍留在财务报表中。它也可以继续显示在列表里,只把「修改供应商」操作暂时关闭。另一种要求更严格,普通账号在有效期内连详情都不能读取。三种规则分别落在列表查询、业务行为和数据授权上,实施位置不同,不能因为界面效果相似就互相替代。拿一家有总部和海外公司的采购系统作具体场景。总部正在复核一批高金额申请,申请单已经分配给复核小组。业务希望在复核窗口内,普通采购员的工作清单不要再显示这些单据,以免重复处理。申请单仍需供复核人员查看,也要进入总额统计和审计记录。这里的隐蛊不是删除数据,更不是关闭整个采购应用,而是给工作清单增加一个有边界的可见性规则。若业务又要求普通采购员不能通过已知单号打开详情,规则就必须延伸到详情读取和服务接口。若复核期间也禁止他们修改,则修改操作还需要独立检