Approach 1: ETAG mechanism
This approach is used in SAP CRM Fiori. Suppose user Jerry has opened a given opportunity with ID = 3456 and clicked the Edit button:
A read operation is fired and sent to ABAP backend:
We can observe in Chrome development tool that the ETAG field of HTTP response header is filled accordingly.
This ETAG value ending up with “26AE” is actually calculated by application. The common calculation logic is to either leverage the last changed timestamp of OData model node being read, see example below:
or use the calculated HASH value based on the whole content of model node:
Now say another user has changed this opportunity and saved the change successfully. Jerry was not aware of it at all, he just changed the opportunity, and pressed the Save button.
And Jerry saw this error message: Data has been changed by another user. Choose OK to retrieve the latest data.
Open Chrome Development Tool again, and we can find that once Jerry has pressed the Save button, a batch request is sent to ABAP backend whose request header contains one field If-Match. This field is filled with the very ETAG value got from the response header field ETAG of the first read request ( which ends up with 26AE ).
What has happened under the hood? A comparison between latest ETAG and the ETAG passed by Fiori UI is made in method CHECK_BEFORE_MODIFICATION:
CHECK_BEFORE_MODIFICATION will delegate to method CHECK_ETAG_MATCH in line 57. If check fails, the save will not be performed at all.
Approach 2: lock mechanism based on BOPF
This logic is used in S/4HANA Fiori application, such as Material application, which consumes OData service implemented on top of CDS view plus BOPF. Open one Material and press Edit button:
Now locks related to a series of Material tables could be found in tcode SM12:
In S/4HANA backend system, launch tcode BOBX to open BO model with name I_PRODUCTWD. Navigate to Edit action and double click, to find implementation class CL_I_DR_PRODUCTWD.
It’s responsible for method LOCK_ACTIVE_DOCUMENT to react on the Edit button click in Fiori UI.
Set a breakpoint on it, click Edit button and breakpoint is triggered. From the callstack we can clearly know how the execution flow is delegated from BOPF framework code to Material application code. The acutal enqueue operation is achieved by the enqueue function module owned by Material application.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
SAP Fiori配置手册 本配置手册旨在指导用户完成SAP Fiori的设置和配置,从而实现SAP Fiori Launchpad的激活。下面是该手册中所涉及到的知识点: 1. 创建管理员账号和测试账号 在SAP Fiori的配置中,需要创建管理...
### SAP Fiori 快速指南知识点详述 #### 一、SAP Fiori 简介 SAP Fiori 是一款由 SAP 开发的新用户体验(UX),旨在为用户提供直观、简洁的操作界面。它包含了300多个基于角色的应用程序,覆盖了人力资源、制造、...
SAP fiori的简易开发过程指南,从开发者角度出发,分后面ODATA开发环境和前端SAP UI5环境搭建,以及发布进行了讲解
### SAP Fiori 2.0 开发指南 #### 概述 SAP Fiori 2.0 是 SAP 针对用户体验的一项重大升级,旨在提供更直观、更现代且更一致的用户界面。该版本引入了许多新功能和改进,不仅提高了用户满意度,还简化了系统管理员...
SAP Fiori 是一种全新的用户界面设计原则和技术框架,旨在为用户提供直观、简洁和一致的体验。本文档将详细介绍如何通过手动配置步骤或使用预定义任务列表来实现SAP Fiori应用程序的快速部署。此外,还将针对SAP ...
【SAP Fiori 现金流案例详解】 SAP Fiori 是一款由SAP公司开发的现代化用户体验设计框架,它提供了丰富的用户界面,旨在优化业务流程并提升工作效率。在这个最新的现金流案例中,我们看到SAP Fiori如何帮助用户实时...
SAP Fiori是一种创新的用户界面(UI)设计和交付架构,由SAP公司推出,旨在为企业应用程序带来消费级用户体验。SAP Fiori的目标是通过更新最广泛和频繁使用的SAP软件功能的用户界面,为用户提供即时价值,这些功能可以...
SAP Fiori SAP Fiori SAP Fiori Architecture Architecture Overview to Deep Overview to Deep Dive -with with focus on S/4 HANA focus on S/4 HANA
SAP Fiori 不仅仅是一个设计框架,它代表了一种全新的思维方式,强调了用户体验的重要性。通过不断地创新和发展,SAP 不仅提升了其产品的竞争力,还为企业级应用树立了新的标准。在未来,我们可以期待 SAP 继续在 UX...
SAP Fiori Elements Development UX 403 SAP Fiori Elements Development UX 403 是一门关于 SAP Fiori 元素开发的高级课程,旨在帮助开发人员学习如何构建高质量的用户体验(UX)。本课程的主要目标是让开发人员...
SAP Fiori Launchpad作为移动和桌面设备上的Fiori应用程序入口,为用户提供了一种直观便捷的方式去访问各种业务流程相关的应用。为了确保Fiori Launchpad能够满足不同用户的需求,SAP提供了Launchpad Designer这一...
SAP Fiori是一种基于角色的应用程序集合,其设计目的是简化用户体验并提高用户的工作效率。 #### 前置条件 在开始配置之前,请确保满足以下条件: - SAP Business Suite后端系统中的工作流场景已设置并运行。 - 已...
### SAP Fiori 2.0 产品介绍 #### 一、设计原则与创新方法论 **SAP Fiori 2.0** 是SAP SE在2016年推出的一款面向用户需求的企业软件解决方案,其核心设计理念是为用户提供简单、一致且令人愉悦的用户体验。在**第...
在开发工具方面,教程详细介绍了Eclipse和WEBIDE的使用,这是两个对SAP Fiori开发者来说非常重要的开发环境。对于调试技术,教程同样给予了足够的重视,讲解了调试工具的基本使用。 整个教程的目的是为了帮助开发者...
SAP Fiori 是 SAP 公司推出的一种全新的用户体验(UX)设计,旨在提供更加直观、高效和个性化的企业级应用程序。这个快速指南将带你了解 SAP Fiori 的基本概念、设计原则以及不同类型的 SAP Fiori 应用程序。 首先...
SAP Fiori 快速启动板使用指南 SAP Fiori 快速启动板是 SAP Fiori 应用的外壳,为应用提供导航、个性化、嵌入支持和应用程序配置等服务。它是 SAP Fiori 应用在移动和桌面设备上的入口点。 快速启动板的组成部分 ...
在实际部署方面,SAP Fiori SCP(SAP Cloud Platform)是SAP提供的一种云服务解决方案,它让企业可以构建、扩展和运行各种云应用,包括SAP Fiori应用。此外,SAP Fiori还支持SAP Web Dynpro,这是一个基于Web的应用...
SAP Fiori 是 SAP 软件和应用程序的新用户体验(UX)。 它提供了一组应用程序,用于常规业务功能,如工作批准,金融应用程序,计算应用程序和各种自助服务应用程序。
Fiori是SAP推出的一种全新的用户界面设计理念,它以简洁、直观、任务导向为原则,旨在提供个性化的用户体验。Fiori应用程序设计为轻量级,能够跨设备运行,支持移动办公,极大地提高了工作效率。 二、SAP S/4HANA ...