运行工作流
可以通过两种方式触发完整的工作流运行:在工作流层次结构中单击运行图标,或在具体工作流的操作菜单中选择 Run All。
也可以单击工作流表格顶部的 Toggle Start/Stop 按钮。该切换按钮可停止正在运行的工作流,或启动工作流。
如果对已在运行的工作流单击运行,PlaidCloud 会提示该工作流正在运行,而不会启动第二次运行。
选择过账模式
Section titled “选择过账模式”每次运行都带有一个 ERP 过账模式。在 PlaidCloud 中选择模式时,可使用工作流右键菜单中的按过账模式运行,或工作流画布上的运行模式按钮;直接使用启动工作流或运行工作流时,系统请求的是“实时”模式,仍受下文所述项目上限的约束。通过运行 API 或助手启动运行时,也可以选择模式。
| 模式 | 效果 |
|---|---|
| 实时 | 过账步骤照常过账。这是默认模式。 |
| 模拟 | 每个 ERP 过账步骤都会构建并验证其将要过账的内容,但不提交任何内容,也不会连接 ERP。拟过账的分录会记录在 ERP 过账历史中并标记为模拟,便于在实时运行前先行审核。 |
| 关闭 | 完全跳过过账步骤。 |
项目也带有自己的过账模式上限,可由对未锁定项目具有写入权限的任何成员通过项目 API 或助手设置。该上限只会让运行更安全,不会放宽限制:运行的有效模式取您所选模式与项目上限中限制更严格的一个,因此即使以“实时”模式启动运行,上限为“模拟”的项目仍会保持模拟。
计划事件保留自己的过账模式,因此设置为“模拟”的计划每次触发时都以模拟方式运行。
该模式会贯穿运行涉及的所有内容。子工作流、宏,以及 Run Model、Conditional Run Model 和 Loop Model 步骤都会继承父级运行的模式,停止后恢复的运行也是如此,因此模拟运行在其内部任何位置都无法真实过账。
授权项目过账
Section titled “授权项目过账”工作流运行是以项目而非启动者的身份向 ERP 过账的。运行过账之前,项目需要为其过账步骤所用的每个 ERP 连接和环境获得授权。没有授权时,步骤会失败,并提示“This project isn’t authorized to post to connection …”,同时指出连接和环境。Call SAP Financial Document Attachment、Call SAP Master Data Table RFC 和 Call SAP RFC 步骤不需要授权。
要授权项目,请打开其主页,在 ERP过账下选择 ERP 写入授权。每行对应一个环境中的一个连接。勾选已授权即允许项目在该处过账,取消勾选则停止授权。授权人和授权时间显示最后一次授权的人员及时间。
- 该按钮对项目的架构师和工作区管理员可见,但只有架构师可以更改授权,且仅限项目未锁定时。不是架构师的工作区管理员可以先将自己添加为架构师。
- 选择某一行来授权或取消授权时不会重新加载列表:滚动位置和您选择的列排序保持不变。窗口可以调整大小,关于公共项目的说明会完整换行显示。
- 要授权某个连接,您自己也需要对它具有写入权限:您拥有该连接,或该连接已按名称或通过您所在的某个安全组与您共享。设置为所有工作区成员的连接不算数。
- 设置为所有工作区成员的项目与其他项目一样获得授权。每个成员都是该项目的架构师,因此任何对某个连接具有写入权限的成员都可以为该项目授权使用该连接。授权之后,任何成员都可以从该项目的工作流向该连接过账,窗口会在网格上方说明这一点。
- 复制的项目,或由项目归档创建的项目,初始没有任何授权。过账之前请先为副本授权。
跟踪步骤状态
Section titled “跟踪步骤状态”工作流运行时,每个步骤都带有一个状态图标,显示其进度以及已运行的时长。将鼠标悬停在图标上可查看其背后的消息。
| 状态 | 含义 |
|---|---|
| 等待中 | 步骤已排队,尚未开始。 |
| 运行中 | 步骤正在工作,其时长会持续累加。 |
| 已完成 | 步骤已成功完成。 |
| 警告 | 步骤已完成,但标记了值得在工作流日志中查看的内容。 |
| 错误 | 步骤失败。请参阅管理步骤错误。 |
| 已跳过 | 步骤被略过,原因是它已被禁用,或未满足其运行条件。请参阅跳过工作流中的步骤。 |
| 已继续 | 步骤失败,但设置为出错后继续,因此工作流继续运行。请参阅出错后继续。 |
| 已停止 | 运行在该步骤完成之前被停止。 |
| 已放弃 | 步骤的执行被中断,因此永远不会完成。请恢复该运行,或重新运行工作流。 |
打开的工作流视图会随着运行的进展自动刷新,因此无需重新加载页面,您看到的状态始终是最新的。
已放弃的步骤
Section titled “已放弃的步骤”当执行步骤的进程在运行中途消失时,该步骤会被标记为已放弃,最常见的原因是有人按下了停止,或平台维护中断了运行。步骤的时长不再增加,状态提示会说明发生了什么。
已放弃的步骤没有完成,也没有产生任何输出。它不是运行缓慢的步骤,也不是数据或配置的问题。
要继续这项工作,可以恢复该运行(已放弃的步骤会再次运行),也可以重新运行整个工作流。两种做法都是安全的。
已中断的步骤
Section titled “已中断的步骤”如果运行步骤的服务器在运行中途丢失,PlaidCloud 会在可以安全重复时自动重新运行该步骤:替换其输出的步骤最终得到的结果与一次干净运行的结果相同,因此无需检查任何内容。
无法安全重复的步骤不会重新运行,而是失败一次并给出已中断消息,因为再次运行可能会重复第一次尝试已经写入的内容。输出名称或路径中带有 {date} 的步骤被视为不可安全重复,因为重新运行时日期可能不同。要恢复,请检查该步骤的目标中第一次尝试写入了什么,必要时进行清理,然后重新运行该步骤或恢复该运行。
暂停、停止和恢复
Section titled “暂停、停止和恢复”工作流运行时,可以暂停它(正在进行的步骤会完成,新的步骤则等待),也可以停止它(这会取消已排队的步骤以及仍在运行的所有导入或导出作业)。
恢复会从中断处继续已暂停、已停止或出错的运行,而不是从头开始。只要工作流的上一次运行以暂停、停止或错误状态结束,就可以使用该功能。
“中断处”的含义取决于工作流的运行方式:
| 执行方式 | 恢复时 |
|---|---|
| 串行 | 从运行结束时正在运行的步骤重新开始,并从那里继续。如果该步骤位于某个分组内,恢复会接管包含它的整个顶层分组:分组中已成功完成的步骤保持不变,其余步骤运行,运行在该分组之后继续。 |
| 并行 | 重新运行所有尚未成功完成的步骤,已完成的步骤保持不变。 |
| 高级(图) | 重新运行失败的节点以及仍在等待它的所有节点,已完成的节点保持不变。 |
调用其他工作流的步骤(Run Model、Conditional Run Model 和 Loop Model)会恢复它们所调用的工作流,而不是重新启动,无论嵌套多少层都是如此。循环步骤会恢复被中断的迭代,并跳过已完成的迭代。
当您恢复的工作流是另一个工作流的嵌套子级(即由父级中的 Run Model 步骤调用)时,PlaidCloud 会提供从链顶端恢复。单独恢复子级无法继续父级的编排,因此该选项会改为恢复顶层父级(即链的根),并从停止处继续整条链。恢复顶层工作流的行为保持不变。链顶端在同一项目内解析:跨入其他项目的链会从项目内部分的顶端恢复。
恢复始终继续原始运行。它会重新运行该次运行中未成功完成的每个步骤(失败或已放弃的步骤会重新运行,而不是视为已完成),期间单独重新运行某个步骤也不会改变恢复接下来要处理的内容。
恢复后的运行会在工作流的运行历史中记录为新的运行,仅包含它重新运行的步骤。原始运行保留其自己的历史记录。