如何实现S/4HANA和CRM费奥里应用的搜索分页

技术如何进行S/4HANA和CRM Fiori应用的搜索分页实现这期内容当中小编将会给大家带来有关如何进行S/4HANA和CRM Fiori应用的搜索分页实现,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希

本期,边肖将为您带来关于如何实现S/4HANA和CRM费奥里应用程序的搜索分页的信息。文章内容丰富,从专业角度进行分析和描述。希望你看完这篇文章能有所收获。

如何在S/4HANA和CRM中实现原生费奥里应用的搜索分页?

选择S/4HANA中的产品主文档和我在CRM中的机会作为示例进行介绍。

S/4HANA费奥里应用程序的搜索分页实现

点击搜索按钮后,默认返回前25个命中产品,显示命中产品总数:140个。

br font-size :16 px;白色空间space:normal背景-color : # FFFFFF;' /

如何进行S/4HANA和CRM  Fiori应用的搜索分页实现

这种分页效果是通过OData请求的参数$skip=0top=25实现的。点击总数140由另一个参数$inlinecount显示,它的后台实现原理类似于ABAP Open SQL中的SELECT COUNT(*)。

如何进行S/4HANA和CRM  Fiori应用的搜索分页实现

观察Chrome开发工具对此请求的响应,只返回了25条记录。

如何进行S/4HANA和CRM  Fiori应用的搜索分页实现

将搜索结果列表滚动到底部,发现另一个OData请求自动发出:

如何进行S/4HANA和CRM  Fiori应用的搜索分页实现

此请求的标头参数为$skip=25top=25,因此只能从后台提取第26到第50个产品:

如何进行S/4HANA和CRM  Fiori应用的搜索分页实现

我的博客SAP费奥里中的列表是如何进行惰性加载的?我解释了$skip的序列值如何递增0,25,50,75.都是在前台生成的。

在这篇博客中,我将重点介绍分页搜索的后台实现。

假设我重复将搜索结果滚动到底部的动作三次,我可以观察到通过ST05有三个数据库读取请求,每个请求返回25条记录。

如何进行S/4HANA和CRM  Fiori应用的搜索分页实现

单击此按钮查看哪一行ABAP代码启动了数据库读取请求:

如何进行S/4HANA和CRM  Fiori应用的搜索分页实现

$skip和$top的值从前台传输到后台,后台的方法CL _ Sadl _ GW _ generic _ DPC ~ _ get _ entity set的输入参数io_query_option可以观察3360。

如何进行S/4HANA和CRM  Fiori应用的搜索分页实现

如何进行S/4HANA和CRM  Fiori应用的搜索分页实现

起始行的索引值等于$skip参数的值加上1。

如何进行S/4HANA和CRM  Fiori应用的搜索分页实现

实际读数

分页在后台的实现:通过ABAP关键字OFFSET实现。

如何进行S/4HANA和CRM Fiori应用的搜索分页实现

该OFFSET的值通过方法CL_SADL_SQL_STATEMENT~GET_SECTIONS_FOR_SELECT内一个较复杂的table表达式来决定出来:

如何进行S/4HANA和CRM Fiori应用的搜索分页实现

首先得出表达式lt_sections[ type = cl_sadl_sql_statement=>co_type-page ]-from的值:99.

如何进行S/4HANA和CRM Fiori应用的搜索分页实现

再从内表mt_parts取出第99条记录,从其字段value2得出最终offset值75。

如何进行S/4HANA和CRM Fiori应用的搜索分页实现

CRM Fiori应用的搜索分页实现

前台的逻辑和S/4HANA的Fiori应用完全一致。

如何进行S/4HANA和CRM Fiori应用的搜索分页实现

该参数传至后台,存储在参数is_paging里:

如何进行S/4HANA和CRM Fiori应用的搜索分页实现

如何进行S/4HANA和CRM Fiori应用的搜索分页实现

至于后台的分页搜索,My opportunities应用并未使用ABAP OPEN SQL里的关键字OFFSET。相反地,所有匹配记录的GUID都通过One Order的搜索API返回:

如何进行S/4HANA和CRM Fiori应用的搜索分页实现

多余的记录,即那些不在$skip和$top定义的参数之内的都被DELETE丢弃:

如何进行S/4HANA和CRM Fiori应用的搜索分页实现

该实现或许不如S/4HANA采用OFFSET方式实现得直接,但是因为从数据库返回的仅仅是命中opportunity的GUID,因此也不会有太多额外的开销。

上述就是小编为大家分享的如何进行S/4HANA和CRM Fiori应用的搜索分页实现了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151652.html

(0)

相关推荐

  • css中如何去掉i的斜体样式

    技术css中如何去掉i的斜体样式本篇内容主要讲解“css中如何去掉i的斜体样式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css中如何去掉i的斜体样式”吧!

    攻略 2021年11月11日
  • C语言怎么实现单链表的基本功能

    技术C语言怎么实现单链表的基本功能本篇内容主要讲解“C语言怎么实现单链表的基本功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言怎么实现单链表的基本功能”吧!1.首先简

    攻略 2021年11月24日
  • 宝妈兼职,哪些兼职和副业适合宝妈

    技术宝妈兼职,哪些兼职和副业适合宝妈网上能做兼职很多,但是赚钱的不多,大部分都是套路,一不小心可能就被坑宝妈兼职。我本人亲自体会过,但凡稍微能赚个几十块以上的APP,全部都是需要推广的,你不推广靠自己单打独斗,赚的也就够

    生活 2021年10月30日
  • 塑料三角烧瓶,三角烧瓶和三角瓶的区别

    技术塑料三角烧瓶,三角烧瓶和三角瓶的区别一塑料三角烧瓶、应用领域区别:1、三角瓶多用于生物培育菌种实验,有盖。2、三角烧瓶即锥形瓶是化学实验中常见仪器,多无盖,可加热,用于化学实验。
    二、外形区别:
    3、锥形瓶一般来说

    生活 2021年10月26日
  • 怎么进行Hadoop安装部署

    技术怎么进行Hadoop安装部署这篇文章将为大家详细讲解有关怎么进行Hadoop安装部署,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.Hadoop环境变量在/home/dbrg/H

    攻略 2021年11月24日
  • linux 中grep命令依据匹配次数进行查找

    技术linux 中grep命令依据匹配次数进行查找 linux 中grep命令依据匹配次数进行查找1、x\{m\}# 重复字符x,m次,如:'0{5}'匹配包含5个o的行。
    x\{m,\} # 重复字符

    礼包 2021年12月14日