ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

SAP BTP集成前必修:Fiori业务角色与用户配置实操指南

SAP BTP集成前必修:Fiori业务角色与用户配置实操指南 接手 SAP Build Process Automation 集成项目我第一周基本没碰流程设计器全在 SAP Fiori 里配角色和用户。不是因为流程复杂而是如果 Business Roles 和 Business Users 没理顺后面审批任务没人收、监控界面一片空白连找一个报错入口都费劲。这篇内容适合两类人看一类是刚接触 SPA 集成的顾问或企业管理员另一类是负责 S/4HANA Cloud 权限治理的 Basis 同学。核心就一句话把 Fiori 里的业务角色和业务用户维护到位是后面所有消息监控能力能落地的地基。下面我把实际项目里验证过的做法、踩过的坑、以及从监控视角反推角色设计的思路完整讲一遍。1. 为什么先梳理 Fiori 角色和用户SPA 集成才不会翻车1.1 一次集成项目里最先“卡脖子”的地方之前做一个采购审批自动化项目流程用 SAP Build Process Automation 搭得很顺唯一的问题出在审批环节流程发布之后在 Lobby 里能正常启动作业但到了人工审批这一步业务同事说根本没看到任务。排查了一整天才定位到根因——审批人在 Fiori 里虽然有账号但角色里缺少任务中心相关的 Catalog同时 BTP 侧也没有给这个用户分配 Process Automation 的角色集合。这种问题非常典型。SPA 本身运行在 BTP 上但业务用户的使用界面仍然在 Fiori 里。用户能不能看到待办任务、能不能进入流程监控入口完全取决于 Fiori 的 Business Users 和 Business Roles 配得对不对。流程设计得再好权限链条断在一半一切白搭。1.2 角色、用户、自动化流程三者之间的关系我用一个车间比喻来解释。Business User 是工人的身份证Business Role 是这张身份证上附加的门禁卡、岗位职责和行为规范。SPA 是一座自动化车间消息监控就是车间里的看板。看板要给人看前提是这个人有门禁卡、有岗位定义且岗位职责里明确写明“允许看车间看板”。在 SAP 系统里三者的依赖关系是这样的Business User 决定“谁”能访问系统Business Role 决定这个人能“看什么菜单、点什么应用、操作哪些数据范围”SPA 跑出来的流程实例、审批任务、自动化执行日志则通过 Fiori 的应用瓷砖展示给被授权的用户。监控消息这种事本质上也是一个应用权限问题没有对应的 Catalog 和权限限制用户连监控入口都找不到。1.3 标题背后的“消息监控基础”到底指什么很多人一听到“消息监控”第一反应是去看日志。但在 SPA 集成场景里监控是个立体概念。至少包含四个层面流程实例跑没跑、卡在哪一步人工审批任务是否到了正确的人手上自动化步骤失败后的错误消息以及跨系统调用时集成消息是否成功流转。这四个层面每一个都依赖用户权限。流程实例列表需要 Process Automation 相关的角色集合审批任务需要任务中心 Catalog错误日志查看需要 BTP 侧对应角色跨系统消息则需要 Fiori 管理员完成通信配置后用户才有资格看到监控数据。所以标题说的“打好消息监控基础”翻译过来就是先把用户和角色这层地基夯实监控才不是一句空话。2. 创建业务用户在 Fiori 里把“谁”先立起来2.1 Business Users 与 Business Roles 的分工逻辑很多新手容易混淆这两个概念这里必须掰开来讲。Business Users 是身份主数据它记录的是用户的基本信息姓名、邮箱、用户 ID、有效期、所属员工编号。Business Roles 是权限打包单元一个角色里可以包含多个 Fiori Catalog决定能看到哪些应用、多个 Fiori Group决定应用瓷砖如何摆放在启动台上以及 Restrictions数据权限限制比如只能处理某工厂的单据。通俗点说Business User 回答“你是谁”Business Role 回答“你能干什么”。两者是多对多关系一个用户可以挂多个角色一个角色也可以分配给多个用户。但在实际企业里建议不要真的搞成多对多乱配而是按岗位建模采购员用采购员角色采购经理用采购经理角色监控人员单独用一个只读监控角色。这样后续做权限审计和消息监控排障都会省很多事。2.2 实操步骤Maintain Business Users 从零创建一个业务用户在 S/4HANA Cloud 环境里管理员登录 Fiori Launchpad 后搜索“Maintain Business Users”应用业务用户维护进去就能管理所有业务用户。正常步骤如下我按实测顺序写打开“Maintain Business Users”应用点击“Create”创建。选择用户类型为“Business User”填写第一位、姓氏、邮箱地址。保存后系统会基于联系人主数据生成一个以 P 开头的用户 ID。这里有个前提如果该人员没有员工/联系人主数据需要先创建 BP业务伙伴否则下拉框里找不到人。在用户详情页的“Assigned Business Roles”已分配业务角色区域添加这个用户需要的角色。检查“User Validity”有效期确定账号启用和失效日期。点击“Activate”激活。激活后系统会发送初始密码通知邮件取决于企业邮件服务器配置。创建用户前务必确认两件事第一企业里是否有统一身份源比如 SAP IAS 或企业 IdP如果用户是从身份源同步过来的不要在 Fiori 里重复建号否则会出现身份映射冲突第二初始密码通知链路是否通很多项目里用户创建成功了但使用方一直收不到激活邮件问题往往出在企业邮件网关设置上。2.3 用户分配角色的两种入口与取消分配给用户挂角色的入口有两个一个是上面讲的“Maintain Business Users”里在用户详情页操作另一个是在“Maintain Business Roles”里选中角色后添加成员。两种入口结果一样区别只是操作习惯。我的建议是批量场景在用户端操作更高效因为在同一个页面里就能处理一个用户的所有角色但是如果团队以角色为中心管理比如给某个角色临时加三个人试运行那从角色端操作更快。取消分配角色时有一个细节必须提醒用户被摘掉角色后已经登录的会话不会马上失效Fiori 启动台上已经加载的瓷砖通常会保留到会话结束或刷新。所以做变更后最好通知用户重新登录一次。员工离职时不要直接删除业务用户而是要 Deactivate 禁用账号并设置到期日。删号会导致历史流程实例里的审批人信息变得不可读审计和监控追溯都会出问题。3. 维护 Business Roles给“岗位”而不是给人配权限的实务操作3.1 角色设计的核心思路目录、组、权限参数进入“Maintain Business Roles”应用打开任一业务角色你会看到三个核心区域Assigned Business Catalogs、Assigned Business Groups、Restrictions。Catalogs 是应用目录控制启动台里出现哪些应用瓷砖。比如“My Inbox”审批收件箱、“Maintain Business Users”管理员应用都由对应 Catalog 决定是否可见。Groups 是启动台布局决定应用瓷砖以什么样的小组件形式展示在用户首页上。Restrictions 则是数据授权的规则比如限定某个工厂、某个公司代码、某个采购组织。这套设计很像超市的三层管理Catalog 决定仓库里有没有这种商品Group 决定商品摆在哪排货架、用多大堆头Restrictions 决定顾客能不能买到某个分店的货。给 SPA 集成做监控基础时最容易出的问题就是 Catalog 配了、Group 忘了放或者 Catalog 没配但 Group 却有导致用户登录后启动台上空空如也。3.2 从模板复制角色最稳的落地方式千万不要从零手工建角色因为要补的 Catalog 和权限点太多漏一个就出事。标准做法是复制参考角色模板。实际操作路径“Maintain Business Roles”应用里点“New”进入创建向导选择“Copy from reference role”从参考角色复制然后搜索你需要的标准角色模板。比如采购场景常用的 SAP_BR_PURCHASER审批场景常见 SAP_BR_MANAGER或者包含审批收件箱权限的组合。选中模板后系统会把模板角色里的 Catalog、Group 复制到新角色中。接下来你要做的重点是修改角色 ID 和描述按照企业命名规范来比如 Z_PURCHASE_APPROVER.在 Restrictions 里设置数据权限范围按业务要求勾选工厂、公司代码等。检查 Assigned Business Groups确认需要的 Fiori 组已经包含在角色中。把角色状态从“In Preparation”准备中改为“In Use”使用中。从模板复制最大的好处是 Catalog 的组合是有业务语义的不是凭感觉拼。你只需要微调数据权限而不是从头思考“这个岗位要哪些 App”效率和安全都靠谱。3.3 角色变更生效、缓存与版本管理很多管理员遇到过这种情况明明给角色加了一个新 Catalog也把角色改成 In Use 了但用户重新登录后还是看不到新应用。原因大概率是缓存。角色的变更生效有一套逻辑角色状态切换、成员更新、Catalog 调整这些动作都会在几分钟内同步到 Fiori 用户的会话上下文。但在多区域部署或负载均衡的架构里缓存刷新会有延迟。盲等没用直接退出账号重新登录是最快的验证手段。角色本身还有版本管理概念。每次修改都会生成一个新版本管理员可以在角色列表页看到“Version”信息也可以对比不同版本间的差异。这非常实用比如生产环境某天突然有人报告权限异常你可以通过版本对比快速确认是不是最近某次变更引起的。另外一个日常维护的细节业务角色的自定义部分在 S/4HANA Cloud 里是要走传输管理的。开发、测试、生产环境之间角色的自定义调整需要包含在传输请求里否则你在开发环境配好的角色生产环境根本没这份配置。4. 把 SPA 集成到 Fiori审批与监控入口到底长什么样4.1 SPA 与 Fiori 集成的前提配置destination、角色集合SAP Build Process Automation 本身不在 S/4HANA 的 Fiori 原生环境里它运行在 BTP 子账户。要让流程真正打通有几层配置是必须的。先在 BTP 侧看进入子账户的 Security → Role Collections确认分配了几个关键的集合Process Automation Administrator自动化管理员、Process Automation Developer流程开发者、Process Automation User流程参与者、Process Automation Viewer流程只读查看。监控人员要的就是 Viewer这个角色集合允许查看流程实例和任务状态但不允许修改流程定义。再看 S/4 侧如果流程要调用 S/4 的数据或服务需要在“Communication Systems”和“Communication Arrangements”里配置连接。接着在 BTP 子账户的 Connectivity → Destinations 里配置目标用来指向 S/4 系统。一个典型的 destination 配置里通常会有一批关键参数存在URL: https://my-s4-system.example.com Authentication: OAuth2ClientCredentials Client ID: xxx Client Secret: xxx Token Service URL: .../oauth/token这里我踩过一次坑destination 配好了但 S/4 侧通信用户的权限范围没设对导致 SPA 流程里调销售订单接口时一直返回 403。排查思路很简单先用邮差或浏览器直接调一下 destination 指向的接口确认通信用户有对应 OData 服务的访问权再去怀疑流程逻辑。4.2 哪些人需要什么角色自动化管理员、流程审批人、普通业务用户我把企业里和 SPA 相关的人分成三类角色需求完全不同千万不要一股脑都塞一个角色。人员类型需要访问的内容BTP 侧角色集合Fiori 侧角色要点自动化管理员流程设计、发布、监控所有实例Process Automation Administrator管理员类角色包含 SPA 管理相关的 Catalog流程审批人处理待办任务、查看与自己相关的流程Process Automation User包含“My Inbox”/“Task Center”Catalog 的业务角色监控审计人员查看流程实例列表、执行状态、错误日志Process Automation Viewer包含只读监控 Catalog 的业务角色不带修改类权限审批人这块尤其要注意。如果企业选择把 SPA 的任务汇聚到 Fiori 的 Task Center那业务角色里必须包含任务中心相关的 Catalog否则审批人即使收到了邮件通知点进 Fiori 也看不到任务列表。这个问题在标题里说的“消息监控基础”场景里占了很大比重因为监控人员去查看一个任务到底卡在哪时同样需要看到任务的流转状态。4.3 给监控用户配置“只见监控、不能改动”的权限监控用户的权限设计核心是“最小够用”。这类人不需要发布流程不需要改流程定义只需要读懂状态、截图报错、协助定位问题。在 BTP 侧给这类人分配 Process Automation Viewer 角色集合不要给 Admin 或 Developer。在 Fiori 侧创建一个只读角色Catalog 里只放流程监控相关的应用瓷砖比如流程实例查看、任务列表查看、运行日志查看。Restrictions 里尽量限制到指定环境开发/测试/生产以及指定流程定义。我见过不少项目图省事直接给监控人员一个 Admin 角色。短期看是方便用户在监控页里想看什么都能看但一旦这个人误操作点了终止流程那就是生产事故。监控角色的价值就在于“看得见所有错误但碰不了任何按钮”这个边界宁可一开始就划清楚。5. 消息监控的地基流程实例、任务与集成消息怎么看5.1 SPA 里监控什么Process Instances、Task、Automation进入 SPA 的 Lobby 后监控的对象可以分成三大类。Process Instances流程实例每次流程启动就是一个实例你能看到它的开始时间、运行时长、当前状态以及瀑布状的时间线时间线会清晰地记录每一步的执行人、执行耗时和结果。Tasks审批任务这里看到的是人工环节的任务列表。任务状态包括 Created、In Progress、Approved、Rejected 等。审批人是谁、审批耗了多久、有没有超时全部在这层呈现。Automation自动化执行如果流程里包含脚本或机器人自动化这里能看到每一次自动化运行的结果、输出参数、以及失败时的完整堆栈信息。这三个视图合起来基本覆盖了一个 SPA 集成流程从触发到完成的全部可观测信息。5.2 从 Fiori 入口跟踪一条审批流的状态以一个采购订单审批流程为例完整链路是这样申请人创建单据后流程自动触发SPA 按流程定义找到审批人审批人的 Fiori 启动台任务中心出现待办审批人点开审批表单通过或驳回管理员在监控页面看到实例最终状态。从 Fiori 入口去跟踪时关键是理解 Task Center 和 SPA 的实例监控之间的联系。Task Center 里看到的是“人”的视角我有几条待办、处理了几条。SPA 监控里看到的是“流程”的视角这个实例走到哪一步了。如果审批人在 Task Center 处理完了但流程实例监控里还是显示运行中接下来要去看时间线里的连接步骤是不是跨系统的同步消息出了问题。有一次排查就发现审批人在 Task Center 点了“批准”但 SPA 那边的实例一直停在等待回调。最后定位到是回调用到的 destination 里 Token 过期策略太短通信在等待中途失效了。这种问题不看时间线根本无从下手。5.3 常见消息状态解读与处理错误、重试、超时监控页面上会遇到五花八门的状态我把最常见的几个整理成一张速查表状态含义处理思路Running流程正在推进可能卡在等待人工或外部系统查看时间线判断卡点Completed正常完成无需处理Error某一步出错打开该步消息看业务错误还是技术错误Terminated被手动终止确认终止原因防止同类操作再触发Suspended/Queued等待资源或权限检查执行账户是否有足够权限Error 状态的排查是最需要强调的。点进错误步骤后先看消息类型。如果是一条业务错误比如“审批人不存在”那大概率是流程里传的审批人主数据有问题去查主数据字段。如果是 401/403是权限问题。如果是超时或连接失败是通信链路问题。把错误先归好类再动手处理才不会瞎忙。6. 实测中踩过的坑权限配对了却看不见监控的排错思路6.1 用户已分配角色但登录看不到小组件这个问题我至少遇过三次。用户明明在 Business Users 里挂了角色角色状态也是 In Use但用户登录 Fiori 后启动台上什么都没有或者缺了预期的刷新。排查顺序是固定的第一步检查角色里到底有没有 Assigned Business Groups。只有 Catalog 没有 Group应用不会摆上启动台用户只能通过搜索功能找到应用。第二步看角色的有效期和用户账号的有效期是不是有一个已经过期了。第三步让用户重新登录一次排除缓存。一个很隐蔽的场景是用户同时挂了两个角色一个角色里有 Catalog另一个角色里有 Group但两个角色都没同时含 Catalog 和 Group。这种情况下即便两个角色都在公示也不一定按预期显示。解决方案是尽量把 Catalog 和 Group 放在同一个角色包里或者养成用角色模板复制的习惯。6.2 SPA 流程启动后审批人收不到任务审批人收不到任务是 SPA 集成里最常见、也最让人摸不着头脑的问题。原因是链条太长任何一环断了都会导致这种表象。我将排查顺序整理成清单确认审批人账号在 BTP 的目标子账户里存在。如果企业用了 SAP IAS 作为身份提供商要确认这个用户能从 IdP 同步到 BTP 子账户。确认审批人在 BTP 侧有 Process Automation User 角色集合。没有这个角色即使流程任务已经产生用户也看不到。确认审批流程定义里指定审批人的字段传值正确。比较常见的是传了邮箱而不是用户 ID导致任务无法匹配到人。确认审批人的 Fiori 角色里包含任务中心 Catalog。这一层归 S/4 环境的 Main Business Roles 管。很多团队在排查时只盯第四步前三个不管结果绕了几天才发现是 BTP 侧角色没加。所以我的建议是严格按照顺序排查从身份映射到角色再到流程字段一层层推进别上来就猜。6.3 消息监控查到的错误码怎么定位消息监控里看到的错误码是定位根因最直接的线索。但很多人拿到一个错误码就懵了不知道去查什么。我的方法是先分类再查询。业务类错误通常伴随业务对象的关键字比如单据号、审批人 ID。技术类错误伴随 HTTP 状态码比如 401、403、500。网络类错误会有关联超时的提示。看到错误码后第一步不要搜代码本身而是先搞清楚上下文这是哪一步、调了什么服务、用哪个通信用户。如果错误码指向 OData 服务直接验证 destination 配置和通信系统的权限范围。如果指向 BTP 侧的授权检查 Role Collection 的分配。如果指向流程逻辑本身把流程定义和时间线的步骤对齐看。一般来说按这个思路走80% 的错误码能在 30 分钟内定位。6.4 多环境开发/测试/生产角色漂移的治理稍微有点规模的企业都会有至少三个环境开发、测试、生产。最头疼的问题就是角色在开发环境调好了生产环境却漏配置。我把这种问题叫“角色漂移”。治理角色漂移最基本的手段是走传输链路。S/4HANA Cloud 里的自定义业务角色是可以打包进传输请求的把开发环境的角色调整传输到生产能避免手工重复配置的疏漏。如果企业政策不允许直接传输那也必须在测试环境做一次角色核对再在生产环境照单配置。另一个实用做法是维护一张角色-用户-监控权限对照表。谁负责什么流程、在哪个环境有监控权限、通过哪个角色获得这些信息全部登记成表。每次发布新流程或新环境都对照这张表过一遍。我见过很多项目因为少了这张表每次上线都靠几个人临时回忆出了事根本追溯不了。维护好这张表对 SPA 集成和后续运维都是一劳永逸的事。我个人在实际项目里的习惯是接任何 SPA 集成项目第一天不问流程怎么设计先打开 Maintain Business Roles 看一遍现有角色清单再打开 Maintain Business Users 看一遍关键人员。角色和用户理顺了后面做流程设计、审批配置、监控看板都会很顺。最后再分享一个小技巧每条流程发布之前用监控视角把流程实例跑一遍专门验证“哪个用户能在哪里看到什么”跑通这条监控链路之后再上线我就踏实多了。
返回列表