关于sap:SAP-CRM-Fiori-应用-My-Opportunity-的分页读取逻辑在-GM4-AG3-无法正常工作

49次阅读

共计 1548 个字符,预计需要花费 4 分钟才能阅读完成。

咱们关上 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…)]

分页逻辑的实现:

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/…”名称空间的正文从扩大数组中提取进去,并从对象转换为名称前缀为 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 正文被蕴含在指定指标的正文文件中的正文所取代。转换后的正文从不应用限定符,只会被没有限定符的雷同正文术语笼罩。

正文完
 0