以SAP Cloud for Customer SalesOrder的搜尋頁面為例:
我們看到的頁面裡顯示的資料,仍然是C4C基於的SAP UI5實現裡,採用AJAX呼叫,從C4C後臺系統讀取回前臺的。
將上圖高亮json請求儲存到本地細細檢視:
這個json資料格式的結構反映了SAP C4C什麼樣的資料模型呢?
答案是SAP C4C UI模型的data model標籤頁裡看到的資料結構:
上圖的欄位和我們從Chrome開發者工具裡觀察到的JSON data model的欄位,具有一一對應的關係:
那麼我們在UI上看到的Sales Order 表格裡顯示的資料,儲存在json 模型裡什麼地方呢?
首先在data model標籤頁裡,得知UI上的資料顯示,來自BO CustomerOrder:
而json資料裡的CustomerOrder,分為三部分:
- FieldCatalog
- Elements
- Header
FieldCatalog包含了CustomerOrder這個BO每個欄位的索引號:
比如索引19代表UUID欄位。
Elements部分的結構,包含了SAP C4C UI上顯示的實際資料。
SAP Cloud for Customer UI上的資料採取分頁顯示,總共281條sales order,分10頁顯示,每頁顯示30條資料:
索引19代表的欄位正是UUID,採取索引值的設計,避免了直接使用欄位名來描述每條記錄的key-value,減小了最後從後臺傳遞到前臺的json資料尺寸:
更多Jerry的原創文章,盡在:"汪子熙":