首页 > 其他分享 >Fiori 应用的 draft 处理机制

Fiori 应用的 draft 处理机制

时间:2023-08-04 10:05:20浏览次数:44  
标签:Draft 草稿 编辑 用户 订单 Fiori 提交 draft 机制

注意

本文只针对 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 是一种强大的功能,它使用户能够在多个步骤中编辑业务数据,并在确认无误后提交更改,从而提高了用户体验和数据管理的灵活性。

标签:Draft,草稿,编辑,用户,订单,Fiori,提交,draft,机制
From: https://blog.51cto.com/jerrywangsap/6957195

相关文章

  • JAVA系列之类加载机制详解
    文章目录一、类加载过程二、类生命周期1、加载2、验证3、准备4、解析5、初始化三、双亲委派机制四、自定义类加载器的应用1、源代码加密2、隔离加载类3、热加载/热部署4、扩展加载源类的加载机制?双亲委派机制?什么是类加载器?自定义类加载器有哪些应用场景?通常,在关于Java的......
  • MySQL 锁机制存在的价值是什么?
    MySQL中的锁机制对于确保数据库的一致性、并发控制和事务完整性非常关键。以下是MySQL锁机制存在的主要价值:并发控制:在多用户并发访问数据库时,锁可以确保在同一时间只有一个事务能够访问同一数据,防止数据混乱和不一致。数据完整性:通过锁机制,MySQL可以确保在事务处理过程中的数据......
  • 知识点1—双重检查,锁机制
    记录一些比较好的文章首先有个前提条件,双IF加lock是对多线程而言的https://www.cnblogs.com/nzbbody/archive/2011/12/29/2306154.html//概念https://blog.csdn.net/sinat_20559947/article/details/48311915//功能双重检查锁定应用在单例模式https://www.cnblogs.com/zhili/......
  • 反射机制--python
    引用:https://www.cnblogs.com/vipchenwei/p/6991209.htmlhttps://www.cnblogs.com/vipchenwei/p/6991209.html 1.反射是什么:反射就是通过字符串的形式,导入模块;通过字符串的形式,去模块寻找指定函数,并执行。利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)......
  • GIL锁;python垃圾回收机制;计算密集型用多进程,io密集型用多线程
    GIL锁;python垃圾回收机制;计算密集型用多进程,io密集型用多线程GIL锁及其作用1.GIL(GlobalInterpreterLock)又称全局解释器锁,本质就是一个互斥锁。2.它保证了cpython进程中的每个线程必须获得这把锁才能执行,不获得不能执行3.这样使得在同一进程内任何时刻仅有一个线程在执行。4......
  • 什么是gil锁、python的垃圾回收机制是什么样的?解释为什么计算密集型用多进程,io密集型
    目录1什么是gil锁-全局解释器锁:gil锁的作用是什么?为什么要有gil锁?2python的垃圾回收机制是什么样的?-引用计数-标记清除-分代回收3解释为什么计算密集型用多进程,io密集型用多线程计算密集型任务:I/O密集型任务:总结:1什么是gil锁-全局解释器锁:它的本质就是一个大的互斥锁,它......
  • 巡检机制介绍——视频融合平台新功能
    LiteCVR具备较强的视频能力,可支持海量设备接入、汇聚与管理、视频监控、视频录像、云存储、回放与检索、智能告警、平台级联等功能。平台可支持多协议接入,包括市场主流标准协议(国标GB/T28181协议、RTMP、RTSP/Onvif)与厂家私有协议和SDK(海康Ehome、海康SDK、大华SDK、华为SDK、宇视S......
  • Cluster机制剖析1——进程复制
    Forkfork()是类UNIX系统父进程复制子进程的系统调用,在Node里通过libuv实现了对不同平台(unix,linux,windows)的封装。引用百度百科的一段话来描述fork的特性:fork之后的子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,......
  • ANDROID缓存机制&一个缓存框架推荐
    1、先推荐一个轻量级缓存框架——ACache(ASimpleCache)ACache介绍:ACache类似于SharedPreferences,但是比SharedPreferences功能更加强大,SharedPreferences只能保存一些基本数据类型、Serializable、Bundle等数据,而Acache可以缓存如下数据:普通的字符串、JsonObject、JsonArray、Bitmap......
  • 易基因:单细胞DNA甲基化与转录组分析揭示猪生发泡卵母细胞成熟的关键调控机制|项目文章
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。在哺乳动物中,窦卵泡内的生发泡(germinalvesicle,GV)卵母细胞可以保持数月或数年的静止状态。促黄体生成素(luteinizinghormone,LH)激增促进了减数分裂(meiosis)恢复,使卵母细胞获得受精后和早期胚胎发育能力。同时还需......