SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的

以SAP Cloud for Customer SalesOrder的搜索页面为例:

SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的_第1张图片

我们看到的页面里显示的数据,仍然是C4C基于的SAP UI5实现里,采用AJAX调用,从C4C后台系统读取回前台的。

SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的_第2张图片

将上图高亮json请求保存到本地细细查看:

SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的_第3张图片

这个json数据格式的结构反映了SAP C4C什么样的数据模型呢?

答案是SAP C4C UI模型的data model标签页里看到的数据结构:

SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的_第4张图片

上图的字段和我们从Chrome开发者工具里观察到的JSON data model的字段,具有一一对应的关系:

SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的_第5张图片

那么我们在UI上看到的Sales Order 表格里显示的数据,存储在json 模型里什么地方呢?

首先在data model标签页里,得知UI上的数据显示,来自BO CustomerOrder:

SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的_第6张图片

而json数据里的CustomerOrder,分为三部分:

  1. FieldCatalog
  2. Elements
  3. Header

SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的_第7张图片

FieldCatalog包含了CustomerOrder这个BO每个字段的索引号:

SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的_第8张图片

比如索引19代表UUID字段。

Elements部分的结构,包含了SAP C4C UI上显示的实际数据。
SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的_第9张图片

SAP Cloud for Customer UI上的数据采取分页显示,总共281条sales order,分10页显示,每页显示30条数据:

SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的_第10张图片

索引19代表的字段正是UUID,采取索引值的设计,避免了直接使用字段名来描述每条记录的key-value,减小了最后从后台传递到前台的json数据尺寸:

SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的_第11张图片

更多Jerry的原创文章,尽在:"汪子熙":

你可能感兴趣的:(SAP Cloud for Customer(C4C)前台显示的数据是如何从后台读取的)