天天看点

Fiori里前后台ETAG处理

From: Wang, Jerry

Sent: Wednesday, April 1, 2015 12:01 PM

本文以opportunity为例来简单说明前后台需要做哪些开发才能够支持ETAG。详细的代码和DDIC enhancement参考Opp相关object。

当UI上点击note tab时,所有的complex note包括其ETAG由后台返回给前台。这里的ETAG实际就是note的last change timestamp。

该ETAG由后台从db里取出,返回给前台

Fiori里前后台ETAG处理

  1. 当UI上点某条note的edit button之后做了note change,点击ok button时:

前台必须把step1从后台接收到的ETAG 通过Odata API重新传给后台:

Fiori里前后台ETAG处理
Fiori里前后台ETAG处理

后台的框架会调用CHECK_BEFORE_MODIFICATION方法,进而会call到application的GET_ENTITY方法。

为了支持ETAG,application 后台必须实现这个方法。

Fiori里前后台ETAG处理

这个GET_ENTITY方法会返回1个最新的ETAG

  1. Framework把UI 上传进来的ETAG和step2 里获取到的ETAG进行比较,如果不相等,就按照http 协议报412 error
    Fiori里前后台ETAG处理

继续阅读