首页 > 其他分享 >SAP CRM Fiori 应用后台 OData 服务性能优化的一些思路

SAP CRM Fiori 应用后台 OData 服务性能优化的一些思路

时间:2023-07-01 14:57:44浏览次数:53  
标签:task OData header API Fiori attachment SAP FM CRM

取一个task的attachment header信息(包含4个attachment)都需要0.5秒时间,太慢了。

具体分析:

  1. 取attachment时,会先call retrieve_task_opt取task header信息,消耗0.1秒。通过之前4个节点的优化经验,这个retrieve是不需要的,此时header信息已经在memory里了,直接使用即可。

  2. 主要的瓶颈就在取attachment header的cl_crm_documents=>get_info, 这个方法只支持取单个task的attachment, 0.26秒。
    需要找能批量取的API。

之前的实现里,在取attachment时也要取一次application log.

在优化的版本里,我会把attachment读取里取application log这段代码删除。

老的实现里直接call 这个FM,传单个的task guid进去,输出该task所有的attachment。

在这个FM group里查找其他是否有GET + 复数形式的名词 如GET_OBJECTS,READ_OBJECTS之类的,但是这个function group下没有。

然后发现single read的FM delegate到了CL_CRM_DOCUMENTS 这个class。

但是这个class里也没有提供任何批量读的API,所有方法的input全是is,我需要的是it。

查看更底层Knowledge management的FM,也没有任何批量读的API。下图这些加了S的,这些复数形式意思是order->attachment是1:N的关系。

那么就只有自己用OPEN SQL读表,造一个multiple read的API出来了。

CRM-BF-COM 这个component是我们own的,我2014年的时候做过好几个correction,所以对里面的代码比较熟,只需要接下来debug回忆一下就ok。

他们的思路和我差不多,逻辑全部是从标准的FM里摘出来的。

最后也是直接读表。

但是他们的逻辑摘得不够彻底,有一些冗余的代码。我最后写出来代码应该会比他们少。

标签:task,OData,header,API,Fiori,attachment,SAP,FM,CRM
From: https://www.cnblogs.com/sap-jerry/p/17519273.html

相关文章

  • 关于 SAP UI5 的 CrossApplicationNavigation 服务
    从SAPUI5应用启动时观察Chrome开发者工具console面板,看到如下提示的错误消息:sap.ui.comp.navpopover.SemanticObjectController:Service'CrossApplicationNavigation'couldnotbeobtained-SAPUI5CrossApplicationNavigation是一种用于在SAPFioriLaunchpad......
  • SAP Commerce Cloud 的 Footer 区域设计
    我们访问Spartacus首页,发现从后台请求的templateid为:LandingPage2Template我们研究这个CMS请求的响应:https://localhost:9002/occ/v2/electronics-spa/cms/pages?lang=en&curr=USD发现一个名(Name)叫Footer的Slot:这个slot里包含了很多Component,其中之一就是Fo......
  • SAP Hybris 中的 CMSNavigationNode
    CMSNavigationNode是SAPHybrisCommerce中内容管理系统(CMS)的一个重要组件,它允许用户在网站上创建、管理和维护导航结构。在本文中,我们将详细了解CMSNavigationNode的概念、用途、功能和与其他组件的交互。CMSNavigationNode的概念CMSNavigationNode代表了网站导航......
  • SAP Commerce Cloud 的 FooterNavigationComponent
    FooterNavigationComponent在UI上对应的区域如下图所示:在Hybris中,FooterNavigationComponent是一个用于构建和管理网站页脚导航的组件。这个组件允许用户轻松地向网站的页脚添加和编辑导航链接,并确保这些链接在整个网站上保持一致。使用FooterNavigationComponent的主......
  • SAP CRM My Note 应用的设计要点概述
    SAPCRMFiori(客户关系管理)是SAP提供的一套基于Fiori用户体验的客户关系管理应用程序。Fiori是一种现代化的、响应式的用户界面,为用户提供了一个直观、一致的体验。在SAPCRMFiori应用中,MyNotes应用是一个允许用户添加、查看和管理个人笔记的工具。MyNotes应用的主要......
  • SAP 电商云 footer 区域 Link Component HTML 源代码的详细讲解
    如下图所示:这个linkComponent生成的a元素的HTML代码:<ahref="http://www.twitter.com/SAP_CX"target="_blank"rel="noopener">Twitter-j<!--bindings={"ng-reflect-ng-template-outlet":"[objectObject]"}......
  • 什么是 SAP UI5 的 cldr json 文件
    SAPUI5是一个基于HTML5的UI开发框架,它允许开发人员构建功能丰富、易于维护和满足企业需求的应用程序。它是一个集成了各种UI控件、工具和库的强大框架,旨在简化企业级应用程序的开发过程。SAPUI5的一个重要特性是对国际化和本地化的支持,这意味着开发人员可以构建能够适应......
  • SAP UI5 manifest.json 文件的 config 区域
    SAPUI5是一种用于构建企业级Web应用的HTML5用户界面技术。它提供了一套丰富的控件库,并支持MVC(模型-视图-控制器)架构、双向数据绑定等特性。manifest.json是SAPUI5应用的元数据文件,包含了应用的配置信息、依赖项、模型、路由等内容。在manifest.json文件中,config区......
  • SAP HANA性能优化与分析(持续更新中)
    本文描述了可以用来识别和解决特定性能问题的措施,并向您展示了如何在以下方面提高SAPHANA数据库的性能:•主机资源(CPU、内存、磁盘)•数据结构的大小和增长•事务性问题•SQL语句性能•安全性、授权和许可•配置......
  • CentOs6 yum源 centos/6.4/os/x86_64/repodata/repomd.xml报错的解决方法
    CentoS6停止维护更新日期2020年11月30日CentOS7停止维护更新日期2024年6月30日CentOS8停止维护更新日期2021年12月31日因为测试需要,安装了CentOS6.4,进行更新时yum提示不可用。按照阿里云开源镜像(https://developer.aliyun.com/mirror/centos)......