SAP Fiori里两种锁机制(lock)的实现
方法1: ETAG机制 SAP CRM Fiori采用了这种机制。 看一个具体的例子来理解。假设我用用户名Jerry选中了这个ID为3456的Opportunity,点击Edit按钮之后: 会触发一个读操作发到后台: 后台响应这个读请求,并且在响应的头部字段ETAG里写入了对应的值。 这个26AE结尾的ETAG的值可以由应用程序采取不同的逻辑计算,可以直接采用请求节点对应的最后修改时间戳(Last Changed Timestamp), 例如下面这段ABAP代码: 也可以基于数据的完整内容计算一个HASH值出来作为ETAG返回给Fiori UI: 现在我用另一个用户,对同一个Opportunity做了修改,成功保存。然后再回到用户Jerry的这个编辑窗口,此时Jerry根本不知道该Opportunity已经被另一个用户修改了。Jerry修改了Opportunity的Name字段,点击保存按钮。 收到这个提示信息。 从Chrome Development Tool里能观察到,当Jerry点击了保存按钮后,发送到后台的请求的头部包含了一个If-Match字段,这个字段的值就是Jerry第一...






