CPI技术小知识
文章平均质量分 66
SAP Cloud Platform Integration 开发知识总结
DeveloperMrMeng
一条咸鱼
展开
-
关于CPI开发中的性能优化
经历的第一个CPI项目即将结束,从刚开始的一头雾水到现在算是初步掌握,过程中也算是踩过很多坑,趁着在园区隔离,总结下关于CPI开发中性能优化这个点的一些心得吧。内容大小 官方建议的有效负载大小为40MB,附件的大小为100MB,遵循这个建议可以很大程度上避免运行时内存资源瓶颈 集成流步骤数 集成流的每个步骤都会消耗内存和时间,每增加一个步骤都会增加整体运行时间,尽可能减少不必要拆开的步骤。 内存与数据库 数据可以保存在内存中,也可以保存在租户的数据库中,保存在内存中(propery或者Head原创 2022-03-10 15:44:52 · 1017 阅读 · 2 评论 -
CPI控件Data Store使用介绍
在CPI的开发过程中,有时候需要处理大批量的数据报文,在这个过程中,由于复杂的流程,可能会需要将这些大批量数据先暂存起来,用于后续节点中使用,在前期开发过程中,我们将数据保存在Property或者Header中,当数据量少的时候,访问Property中存储的数据无疑效率是最快的,但是当数据量过大时,这种方式会占用大量的额外内存,可能会导致CPI由于运行时内存不足而导致运行失败,而将数据绑定在Header中,当发起一些Http请求时,由于会连带着Header一同发送,会因为绑定的属性过多而失败,所以在数据量过原创 2022-03-09 17:51:30 · 682 阅读 · 0 评论 -
CPI中通过$batch处理http请求
1:指定请求endpoint为/$batch2:构建请求内容:import com.sap.gateway.ip.core.customdev.util.Message;import java.util.HashMap;import groovy.json.*import java.util.UUID;import static groovy.json.JsonOutput.*// @Grab('com.google.code.gson:gson:2.8+')import c.原创 2021-12-03 16:27:06 · 2144 阅读 · 0 评论 -
Groovy中remove XML节点问题总结
遇到一个操作xml的需求,demo数据如下:<Root> <HEAD> <item> <BUKRS>1000</BUKRS> <ORDER>41000000</ORDER> <ITEMS> <it原创 2021-08-25 17:07:38 · 439 阅读 · 0 评论 -
CPI中生成文件日文字符乱码问题
近期在对日项目上遇到一个问题,CPI中生成文档时,要将内容字符集设置为日文编码,此前都是将字符集设置为Shift-JIS,文件可以正常出力,但是某些特殊字符会无法识别,解析为「?」,例如日文全角的符号「―」,日文半角片假名「アホ」等类似的字符都会有同样的问题,造成该结果的原因和解决方案在SAP官方Note 1883836中有提到:所以在CPI中文件生成之前,需要利用Content Modifier组件,将内容字符集更改为MS932Tips:本例中场景为XML转CSV,有时需要在生成的CSV中原创 2021-07-22 10:28:01 · 509 阅读 · 0 评论 -
CPI中Exchange Property和 Write Variables控件的使用
CPI中Exchange Property和Write Varibles的使用前些时间在项目上遇到一个需求,通过Odata从S4抽出数据之后,调用打印服务器的地址去打印生成PDF,但是打印服务器每次只能接收一条数据,而S4返回的数据有多条,所以需要在CPI中进行循环操作,依次按照索引将对应的单据内容传递给打印服务器,所以就遇到了两个问题:1.如何将S4返回的内容拆分;2.如何每次只将对应的数据发送过去,而不丢失原有完整的数据。第一个问题,如何拆分:这个问题很好解决,S4端返回原创 2021-07-22 10:06:11 · 435 阅读 · 2 评论