成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

S/4HANA和CRM Fiori應(yīng)用的搜索分頁實(shí)現(xiàn)

madthumb / 2818人閱讀

摘要:在我的博客我介紹了里采用技術(shù)實(shí)現(xiàn)的上的搜索分頁實(shí)現(xiàn)。應(yīng)用的搜索分頁實(shí)現(xiàn)點(diǎn)擊搜索按鈕之后,默認(rèn)返回前個(gè)命中的,同時(shí)顯示總共命中的數(shù)目。實(shí)際的讀取分頁在后臺(tái)的實(shí)現(xiàn)通過關(guān)鍵字實(shí)現(xiàn)。應(yīng)用的搜索分頁實(shí)現(xiàn)前臺(tái)的邏輯和的應(yīng)用完全一致。

在我的博客Paging Implementation in S/4HANA for Customer Management 我介紹了S/4HANA for Customer Management里采用WebClient UI技術(shù)實(shí)現(xiàn)的UI上的搜索分頁實(shí)現(xiàn)。

那么S/4HANA和CRM里原生的Fiori應(yīng)用,其搜索分頁又是如何實(shí)現(xiàn)的?

這篇博客分別選取S/4HANA里的Product Master,以及CRM里的My Opportunities這兩個(gè)應(yīng)用為例來介紹。

S/4HANA Fiori應(yīng)用的搜索分頁實(shí)現(xiàn)

點(diǎn)擊搜索按鈕之后,默認(rèn)返回前25個(gè)命中的product,同時(shí)顯示總共命中的product數(shù)目:140。

這個(gè)分頁效果通過OData請(qǐng)求的參數(shù)$skip=0&top=25實(shí)現(xiàn)的。而總共命中條數(shù)140的顯示通過另一個(gè)參數(shù)$inlinecount來實(shí)現(xiàn),該參數(shù)的后臺(tái)實(shí)現(xiàn)原理類似ABAP Open SQL里的SELECT COUNT(*)。

從Chrome開發(fā)者工具里觀察該請(qǐng)求的回應(yīng),確實(shí)只有25條記錄返回。

將該搜索結(jié)果列表scroll至底部,發(fā)現(xiàn)有另一個(gè)OData request自動(dòng)發(fā)出:

該請(qǐng)求的頭部參數(shù)為$skip=25&top=25,因此能夠從后臺(tái)只取從第26到50個(gè)product:

在我博客SAP Fiori里的List是如何做到懶加載Lazy load的 我解釋了$skip遞增的序列值0,25,50,75...是如何在前臺(tái)生成的。

而在這篇博客里,我會(huì)著重介紹分頁搜索的后臺(tái)實(shí)現(xiàn)。

假設(shè)我重復(fù)將搜索結(jié)果scroll至底部的動(dòng)作重復(fù)三次,那么能夠通過ST05觀察到有三個(gè)數(shù)據(jù)庫的讀請(qǐng)求,每個(gè)請(qǐng)求返回25條記錄。

點(diǎn)擊該按鈕,可以查看到具體是哪一行ABAP代碼發(fā)起的數(shù)據(jù)庫讀請(qǐng)求:

$skip和$top這兩個(gè)參數(shù)的值從前臺(tái)傳入后臺(tái),在后臺(tái)的方法CL_SADL_GW_GENERIC_DPC~_GET_ENTITYSET的輸入?yún)?shù)io_query_option能觀察到:

開始行的索引值等于$skip參數(shù)值加1。

實(shí)際的讀取分頁在后臺(tái)的實(shí)現(xiàn):通過ABAP關(guān)鍵字OFFSET實(shí)現(xiàn)。

該OFFSET的值通過方法CL_SADL_SQL_STATEMENT~GET_SECTIONS_FOR_SELECT內(nèi)一個(gè)較復(fù)雜的table表達(dá)式來決定出來:

首先得出表達(dá)式lt_sections[ type = cl_sadl_sql_statement=>co_type-page ]-from的值:99.

再從內(nèi)表mt_parts取出第99條記錄,從其字段value2得出最終offset值75。

CRM Fiori應(yīng)用的搜索分頁實(shí)現(xiàn)

前臺(tái)的邏輯和S/4HANA的Fiori應(yīng)用完全一致。

該參數(shù)傳至后臺(tái),存儲(chǔ)在參數(shù)is_paging里:

至于后臺(tái)的分頁搜索,My opportunities應(yīng)用并未使用ABAP OPEN SQL里的關(guān)鍵字OFFSET。相反地,所有匹配記錄的GUID都通過One Order的搜索API返回:

多余的記錄,即那些不在$skip和$top定義的參數(shù)之內(nèi)的都被DELETE丟棄:

該實(shí)現(xiàn)或許不如S/4HANA采用OFFSET方式實(shí)現(xiàn)得直接,但是因?yàn)閺臄?shù)據(jù)庫返回的僅僅是命中opportunity的GUID,因此也不會(huì)有太多額外的開銷。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/52113.html

相關(guān)文章

  • S/4HANACRM Fiori應(yīng)用搜索分頁實(shí)現(xiàn)

    摘要:在我的博客我介紹了里采用技術(shù)實(shí)現(xiàn)的上的搜索分頁實(shí)現(xiàn)。應(yīng)用的搜索分頁實(shí)現(xiàn)點(diǎn)擊搜索按鈕之后,默認(rèn)返回前個(gè)命中的,同時(shí)顯示總共命中的數(shù)目。實(shí)際的讀取分頁在后臺(tái)的實(shí)現(xiàn)通過關(guān)鍵字實(shí)現(xiàn)。應(yīng)用的搜索分頁實(shí)現(xiàn)前臺(tái)的邏輯和的應(yīng)用完全一致。 在我的博客Paging Implementation in S/4HANA for Customer Management 我介紹了S/4HANA for Custo...

    Java_oldboy 評(píng)論0 收藏0
  • S/4HANACRM Fiori應(yīng)用搜索分頁實(shí)現(xiàn)

    摘要:在我的博客我介紹了里采用技術(shù)實(shí)現(xiàn)的上的搜索分頁實(shí)現(xiàn)。應(yīng)用的搜索分頁實(shí)現(xiàn)點(diǎn)擊搜索按鈕之后,默認(rèn)返回前個(gè)命中的,同時(shí)顯示總共命中的數(shù)目。實(shí)際的讀取分頁在后臺(tái)的實(shí)現(xiàn)通過關(guān)鍵字實(shí)現(xiàn)。應(yīng)用的搜索分頁實(shí)現(xiàn)前臺(tái)的邏輯和的應(yīng)用完全一致。 在我的博客Paging Implementation in S/4HANA for Customer Management 我介紹了S/4HANA for Custo...

    孫淑建 評(píng)論0 收藏0
  • SAP UI 搜索分頁技術(shù)

    摘要:搜索分頁技術(shù)往往和另一個(gè)術(shù)語懶加載聯(lián)系起來。該搜索分頁的實(shí)現(xiàn)歸功于請(qǐng)求的參數(shù),,意為從請(qǐng)求命中的第條記錄開始總共返回條記錄。更多細(xì)節(jié),請(qǐng)參考我的博客應(yīng)用的搜索分頁實(shí)現(xiàn)原理,全稱為,開發(fā)技術(shù)仍然采用。 搜索分頁技術(shù)往往和另一個(gè)術(shù)語Lazy Loading(懶加載)聯(lián)系起來。今天由Jerry首先介紹S/4HANA,CRM Fiori和S4CRM應(yīng)用里的UI搜索分頁的實(shí)現(xiàn)原理。后半部分由SA...

    dack 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<