Fiori 应用的 draft 处理机制

发布时间 2023-08-13 13:26:57作者: JerryWang_汪子熙

注意

本文只针对 Fiori Draft handling 做一个泛泛的概念介绍。

如果大家想通过一个具体的实例来了解,可以阅读我这篇文章:

SAP Fiori 应用里的 Draft Handling(草稿处理)是一种机制,用于在业务数据的编辑过程中保存未提交的更改。这样的机制允许用户在多个会话或步骤中逐渐构建和修改数据,并在需要时将其提交。Draft Handling 在 SAP Fiori 应用中起到重要的角色,可以在不中断现有数据记录的情况下允许并发编辑,从而提高用户体验和灵活性。

Draft Handling 的核心思想是在后台数据库中创建一个未提交的版本(草稿),并在用户完成编辑和确认无误后,再将该草稿版本提交为最终数据版本。在此过程中,Fiori 应用会对用户的操作进行跟踪,并确保不同用户之间的编辑不会相互干扰。草稿数据通常具有与实际数据记录相同的结构,但在提交之前并不影响实际业务数据。

为了更好地理解 Draft Handling 的概念,让我们通过一个详细的例子来说明:

例子:订单编辑应用

假设我们有一个名为“订单编辑”的 SAP Fiori 应用,用户可以使用该应用来查看、创建和编辑订单。该应用支持 Draft Handling 以便用户可以在多个步骤中编辑订单信息,并最终提交更新。

  1. 查看订单列表:

    • 用户打开“订单编辑”应用,看到所有已存在的订单列表。
  2. 创建草稿:

    • 用户决定创建新订单,点击“创建新订单”按钮。
    • 应用在后台数据库中创建一个空的订单草稿,并返回一个带有草稿 ID 的页面。
  3. 编辑草稿:

    • 用户开始编辑订单信息,例如添加产品、选择数量等。
    • 在此过程中,应用将用户的更改保存在与草稿 ID 关联的临时存储中,并保留未提交的更改。
  4. 保存草稿:

    • 用户在编辑过程中可以选择“保存草稿”,以保存当前进度并暂时退出应用。
    • 应用将草稿信息保存在后台,并为用户保留未提交的更改。
  5. 并发编辑:

    • 在用户编辑订单的同时,其他用户也可以打开同一个订单进行编辑,每个用户都有自己的草稿副本。
  6. 查看草稿状态:

    • 用户可以随时查看订单的草稿状态,以确认是否有未提交的更改。
    • 如果有未提交的更改,用户可以选择继续编辑或者放弃。
  7. 提交订单:

    • 用户编辑完成后,决定将订单提交为最终版本。
    • 用户点击“提交”按钮,应用将验证订单的完整性并将草稿中的更改应用到实际订单数据中。
    • 提交后,草稿会被清除,实际数据将更新。
  8. 冲突解决:

    • 如果在用户编辑过程中,其他用户已经提交了与该订单相关的更改,系统会检测到冲突。
    • 应用会提示用户解决冲突,例如选择保留自己的更改、覆盖他人的更改或合并两者。
  9. 取消编辑:

    • 在任何时候,用户都可以选择放弃对订单的修改,退出应用,此时草稿会被丢弃。

通过上述例子,我们可以看到 Draft Handling 如何允许多个用户并发编辑业务数据,并在提交前保存未提交的更改。这种机制在大型企业中非常有用,因为它避免了数据冲突,并确保用户可以在不中断其他用户操作的情况下安全地编辑数据。

值得注意的是,SAP Fiori 提供了一些工具和 API 来简化 Draft Handling 的实现,包括服务端和客户端的 API,用于创建、管理和提交草稿。在实际开发中,开发者需要正确地使用这些 API 来实现 Draft Handling,并确保在并发编辑时数据的一致性和正确性。

总结

SAP Fiori 应用中的 Draft Handling 是一种强大的功能,它使用户能够在多个步骤中编辑业务数据,并在确认无误后提交更改,从而提高了用户体验和数据管理的灵活性。