SAP C4C OData服务的filter,客户端分页和排序的使用方式
假設系統里已經有許多的Lead歷史數據,而我們正在進行的微信小程序和C4C集成的項目里,又創建了許多新的Lead數據。如何將這些新的在微信小程序里調用OData服務創建的Lead數據同老的歷史數據做區分呢?
(1) 在C4C Sales Lead頁面里,通過Source字段來標明Lead的來源。
對于AI Card項目來說,所有的Lead經由微信小程序創建,因此調用OData API時,SourceCode指定為“Wechat Social Channel”的代號:Z01
這樣,在讀取操作時,使用filter=SourceCodeeq′Z01′操作,能取出系統所有SourceCode為Z01的lead.再使用filter=SourceCode eq 'Z01'操作,能取出系統所有SourceCode為Z01的lead. 再使用filter=SourceCodeeq′Z01′操作,能取出系統所有SourceCode為Z01的lead.再使用inlinecount=allpages,能一并返回SourceCode為Z01的Lead一共有多少個。
最后的url如下:
https://my500.c4c.saphybriscloud.cn/sap/c4c/odata/v1/c4codata/LeadCollection?KaTeX parse error: Expected 'EOF', got '&' at position 27: …ceCode eq 'Z01'&?inlinecount=allpages
結果如下:
截至2020年3月20日12:23PM為止,在系統上經由微信小程序創建,Source Code字段為Z01的Lead總共有6個。
如果系統里滿足這個條件的Lead越來越多,調用OData服務后,會造成規模巨大的數據量從服務器發送往消費端,所以建議使用客戶端分頁方式讀取數據。
首先獲取滿足SourceCode為Z01的lead個數:
https://my500.c4c.saphybriscloud.cn/sap/c4c/odata/v1/c4codata/LeadCollection/count?count?count?filter=SourceCode eq ‘Z01’
假設返回結果數為1000, 我們可以在客戶端進行分頁讀取,每頁讀取的個數可以客戶端自行決定,比如每次讀取20個。
第一頁的讀取請求:
https://my50.c4c.saphybriscloud.cn/sap/c4c/odata/v1/c4codata/LeadCollection?KaTeX parse error: Expected 'EOF', got '&' at position 24: …ourceCode eq ''&?orderby=CreatedOn desc&$top=20
20個Lead返回:
第二頁:即第21到第40個:
https://my50.c4c.saphybriscloud.cn/sap/c4c/odata/v1/c4codata/LeadCollection?KaTeX parse error: Expected 'EOF', got '&' at position 24: …ourceCode eq ''&?orderby=CreatedOn desc&KaTeX parse error: Expected 'EOF', got '&' at position 8: skip=20&?top=20
第三頁:即第41個到第60個
https://my500.c4c.saphybriscloud.cn/sap/c4c/odata/v1/c4codata/LeadCollection?KaTeX parse error: Expected 'EOF', got '&' at position 24: …ourceCode eq ''&?orderby=CreatedOn desc&KaTeX parse error: Expected 'EOF', got '&' at position 8: skip=40&?top=20
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的SAP C4C OData服务的filter,客户端分页和排序的使用方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我是世界的终结者!LOL 13.9版本英
- 下一篇: 如何在SAP Cloud for Cus