技术标签: OData SAP Netweaver 思爱普 ABAP
我们打开 SAP CRM Fiori 应用 My Opportunity 的 list 页面,首页默认只能显示 20 个 Opportunity:
当我们向下滚动鼠标中键时,触发一个加载更多 Opportunity 的动作,或者说延迟加载(分页加载)机制:
lo_provider = lo_processor->read(
io_entity_set = lo_entity_set
is_function_import_info = ls_function_import_info
it_key = io_uri->key_predicates
it_expand = io_uri->expand
it_select = io_uri->select
io_filter = io_uri->filter
io_orderby = io_uri->orderby
iv_skip = io_uri->skip
iv_top = io_uri->top
iv_skiptoken = io_uri->skiptoken
iv_inlinecount = lv_inlinecount
iv_for = lv_operation
iv_format = lv_format ).
下图是 gateway 处理 OData 请求的入口:
通过 CALL_BACKEND
方法进行 RFC 调用:
进行 RFC 调用,使用的 SM59 Destination 为 ZGM4TOAG3_001
:
直接用 postman,没有返回记录:
CL_CRM_OPPORTUNITY_DPC_EXT~OPPORTUNITIES_GET_ENTITYSET
成功读出 470 条 Opportunity:
用 Postman 发送的请求,一 delete 就没了:
UI 上也是 0,这个 growing behavior 在 GM4/AG3 上不能正常工作。
但 task 可以。
在这之前,在 me->select_tasks 里完成 guid 的读取。
把所有 guid 都读取出来了:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P7IfPAjq-1659765006868)(https://upload-images.jianshu.io/upload_images/2085791-85e425bd414c0165.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
分页逻辑的实现:
IF lv_maxhits > 0.
DELETE lt_sort FROM lv_maxhits + 1.
ENDIF.
IF iv_skip > 0.
DELETE lt_sort FROM 1 TO iv_skip.
ENDIF.
sap.ui.model.odata.ODataMetaModel
是一个OData 元模型的实现,它提供对OData V2元数据和V4注释的统一访问。它使用现有的 sap.ui.model.odata.ODataMetadata
作为基础,并将现有的sap.ui.model.odata.ODataAnnotations的 V4 直接合并到相应的模型元素。
此模型不准备被进一步继承。
此外,来自“http://www.sap.com/Protocols/SAPData”名称空间的注释从扩展数组中提取出来,并从对象转换为名称前缀为 sap:
的简单属性。注意,这是另外发生的,因此下面的示例显示了这两种表示。这样,这样的注释就可以通过简单的相对路径来处理,而不是搜索数组。
例子:
{
"name" : "BusinessPartnerID",
"extensions" : [{
"name" : "label",
"value" : "Bus. Part. ID",
"namespace" : "http://www.sap.com/Protocols/SAPData"
}],
"sap:label" : "Bus. Part. ID"
}
从OData V2注释转换而来的完整OData V4注释被包含在指定目标的注释文件中的注释所取代。转换后的注释从不使用限定符,只会被没有限定符的相同注释术语覆盖。
文章浏览阅读538次。HDU 2868 Neighbor Friend/**HDU 2868 Neighbor Friend题意:有n个人,m对身高关系a,b(a的身高小于b的身高)按身高排序,求有多少对人可以成为邻居解题思路:a,b,c三个人a->ba->cb->ca到c的最长距离大于1,所以a,c不能成为邻居问题转化,找出不能成为邻居的个数{(a,c)}剩下的就是邻居的可能数量{(a,b_neighbor friend acm
文章浏览阅读388次。???? 知识点概览为了方便后续回顾该项目时能够清晰的知道本章节讲了哪些内容,并且能够从该章节的笔记中得到一些帮助,所以在完成本章节的学习后在此对本章节所涉及到的知识点进行总结概述。本章节为【学成在线】项目的 day07 的内容 对课程管理的CRUD 级联菜单 使用 mongoDB 储存数据字典目录内容会比较多,小伙伴们可以根据目录进行按需查阅。文章目录???? 知识点概览目录一、课程查询0x01 需求分析0x02 定义API接口0x03 课程管理服务PageHelperDaoSer_学成在线day07
文章浏览阅读78次。一.系统简介苏州新导化工厂人员定位系统是苏州新导针对市场需求开发的集RFID识别技术、计算机软硬件、信息采集处理、网络数据通讯等技术综合应用为一体的自动识别信息技术。该系统通过对电子标签远距离非接触式识别,实现对人员的区域定位监测,集成了计算机网络技术、通信技术、地理信息技术、嵌入式微处理器等技术。二.系统功能1.即时定位化工厂人员定位系统控制流和数据流不用轮巡,多个远距离读头数据刷新以毫秒来计算..._appcan rfid
文章浏览阅读2.4k次。我用Tkinter制作了一个图形用户界面,有两个主按钮:“开始”和“停止”。请您就如何使用“停止”按钮终止“开始”按钮为以下代码调用的已运行功能提供建议?在正如您所期望的那样,当“启动”功能运行时,整个窗口(包括“停止”按钮)卡住/没有响应。在“start”函数从一些html文件中提取一些信息,这可能需要相当长的时间(对于20个巨大的文件,它可能需要10分钟左右),我希望用户能够随时中断该过程。在..._tkinter开始和终止一个循环
文章浏览阅读306次。设置基于Column - Level 的VPD从Oracle 10g开始,我们可以设置基于column-level的VPD,从而保护那些资料表中的重要信息列,比如password column、Price等(这个要根据具体的应用需求来定),有两种column-level的方法可以使用:1)使用column-level VPD 保护数据不被访问2)Display the column with NU..._oracle中column
文章浏览阅读2.4k次。C语言数据结构 双向链表的建立与基本操作双向链表比单链表有更好的灵活性,其大部分操作与线性表相同。下面总结双向链表与单链表之间的不同之处及我在实现过程中所遇到的问题。1.双向链表的建立双向链表在初始化时,要给首尾两个节点分配内存空间。成功分配后,要将首节点的prior指针和尾节点的next指针指向NULL,这是十分关键的一步,因为这是之后用来判断空表的条件。同时,当链表为空时,要将首节点的next..._prior和next
文章浏览阅读1.1w次。maven依赖 <dependency> <groupId>fr.opensagres.xdocreport</groupId> <artifactId>org.apache.poi.xwpf.converter.pdf</artifactId> &l..._pdfconverter.getinstance()没有convert
文章浏览阅读2.2k次。https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books.md_free programming
文章浏览阅读302次。根据AQS自己实现一个独占锁/** * 独占锁自定义实现 * * @author wangmj * @since 2019/1/18 */public class MutexLock { //自定义内部类继承AQS //独占锁只需实现tryAcquire与tryRelease方法 //共享锁需要实现tryAcquireShared与tryReleaseShar..._syncronizer 翻译
文章浏览阅读843次。C语言输出格式总结1一般格式printf(格式控制,输出表列)例如:printf("i=%d,ch=%c\n",i,ch);说明:(1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息:①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。②普通字符,即需要原样输出的字符。(2)“输出表列”是需要输出的一些数据,可以是表达式(3)printf..._c语言实数输出格式
文章浏览阅读362次。源码如下:#include <stdio.h>#include <tchar.h>#include <opencv.hpp> #include<iostream>#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>#include <opencv2\imgproc\types_c.h>#include <open._opencv c++ 拉普拉斯源码
文章浏览阅读2.9k次。使用ValueAnimator实现一个匀速的下拉动画点击显示部分可以匀速的下拉出隐藏部分,再次点击隐藏部分匀速收回。_android valueanimator 从上到下展开