如何通过OData从Fiori发送大量记录?

2020-09-02 08:05发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

能否让我知道从SAPUI5应用程序(例如Exel Upload)向OBI数据发送数千或多条记录(带有列的行,共7到10列)的最佳方法是什么? 服务吗?

我们应该将100条记录中的每条记录合并到一个OData调用中,然后在第二个调用中调用100-200,再接着200-300等吗?

请告诉我您的想法。

谢谢

杰克

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

能否让我知道从SAPUI5应用程序(例如Exel Upload)向OBI数据发送数千或多条记录(带有列的行,共7到10列)的最佳方法是什么? 服务吗?

我们应该将100条记录中的每条记录合并到一个OData调用中,然后在第二个调用中调用100-200,再接着200-300等吗?

请告诉我您的想法。

谢谢

杰克

付费偷看设置
发送
5条回答
小c菟菟
1楼 · 2020-09-02 08:51.采纳回答

您好,阿伦

如果您在UI层处理文件并在多个批处理调用中发送数据,则可能会出现性能问题。 相反,我建议将整个文件作为附件发送到后端。

现在,如果要将文件内容处理到后端的某个事务中,则对于大文件,建议的方法是将excel的内容推送到状态为(Z表)的登台表,并通过消息返回UI

登台表的内容可以在后台作业中处理,以更新状态。 处理完成后,您可以使用"推送通知"(Fiori Niotifications)更新用户。 最好在上载时从用户那里获得参考/说明,并将其包含在Fiori通知中。 通过这种方式,用户可以确定自己的上传完成了。

点击通知后,您可以将用户带到列表报告,该报告显示了引用执行的处理状态。

重要的是-保持用户界面简单,仅用于演示

d56caomao
2楼-- · 2020-09-02 08:51

您能否详细说明您的要求? 就像您只是将数据上传到后端一样? 还是您在ui中读取了excel数据并执行了一些操作? 如果您可以提供更多有用的信息。

wang628962
3楼-- · 2020-09-02 08:46

您好阿伦·雅各布

我建议您在odata服务中使用流操作并将附件上传到后端系统,然后您就可以使用excel工具读取附件和数据了。 例如, https://github.com/ivanfemia/abap2xlsx 或任何其他FM(如果有)。

对于ui5和odata流功能,有很多博客,例如:

https://blogs.sap.com/2018/06/22/media-handling-in-odata-in-sap-ui5/

然后在后端中,根据需要处理数据。 这将使您的应用程序的性能提高很多倍。

谢谢,
Mahesh

土豆飞人
4楼-- · 2020-09-02 08:32

感谢Krishnakumar,从UI角度来看,它看起来很棒。 可以使用UploadSet或UploadCollection,我可以从用户处提取文件并将其传输到后端。

谢谢,

Jakes

me_for_i
5楼-- · 2020-09-02 08:37
# p #阿伦·雅各布,我认为您正在寻找一种改善性能的方法(正如您所说的那样) 因此,我建议您最好的方法来增加 性能。由于性能不是您的限制,您可以在请求中处理100个数据,因为或多或少不会产生任何影响 您的情况有所不同。但是如果您要查看发送多个请求时的性能 ,如果不检查数据就很难判断它,并且每个项目的数据都会有所不同(取决于数据),但是我建议您看一下请求的大小并确定可以进行的总行数 发送。 因为如果大小更大,请求时间将更多,这显然不是很好。 您还应该尝试并行发送这些请求,因为您又不想让用户等待所有请求完成 依次。所以根据得出您的理想数字,检查100或200对请求花费的时间是否有所不同。 您正在寻找正确的答案,但希望对您有所帮助。谢谢,Mahesh

一周热门 更多>