点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
要求:通过API调用获取发票,并通过调用客户API丰富客户数据,然后通过OData将其发布到ECC。
要退回的发票数限制为100条记录。 我有500多个发票,可以按时间增加。 我应该对API调用使用过滤器,以获取下一组记录,如下所示:
第一次API调用: https://XXXXX.com/v1/invoices ?limit = 100
第二个API调用: https://XXXXX.com/v1/invoices ?limit = 100 和starting_after = {来自第一个API调用的第100个发票ID}
第三个API调用: https://XXXXX.com/v1/invoices ?limit = 100 &starting_after = {第二个API调用中的第100个发票ID}
第四次API调用: https://XXXXX.com/v1/invoices ?limit = 100 &starting_after = {来自第3个API调用的第100个发票ID}
....第N次通话。
如何在CPI中实现这一目标? 任何指针都会有很大帮助。
尝试的方法:使用//has_more ='true'循环调用。 但是它一次又一次地提取相同的发票,API不支持此发票。
此致
Pavan G
通过添加一个普通的脚本以及循环过程调用,该问题已得到解决。
Groovy脚本1:
Groovy Script2:
iFlow设计:
此致
Pavan G
你好 Sriprasad Shivaram Bhat
感谢您的回复。
我尝试使用hasMore通过循环过程调用来调用API,因为它告诉更多记录是否要提取,但是在每个循环中它选择了相同的发票。 似乎不支持获取下一组记录属性。
我在运行时配置的"允许的标头"部分中尝试了*,并检查了跟踪,但是找不到任何可用于获取下一个属性的属性。
我正在考虑使用以下方法。
选择100张发票将其存储在DataStore中,然后选择最后一张发票,并使用循环流程调用并使用groovy脚本再次选择最后一张发票,直到hasMore ='false'。
在另一个本地集成过程中,将从数据存储中获取发票以进行进一步处理,并在处理后将其删除。
请让我知道是否可以通过其他任何简单的方法来实现。
Pavan G
你好Pavan,
API方面的几个问题是否支持hasMore或任何类似的属性,这些属性表明仍然有更多记录要提取? 如果它绝对支持循环过程调用,那么我建议您将*放在Runtime配置的Allowed headers部分中,并查看它可以基于您可以设计过程的API调用返回哪些头或属性。
致谢
Sriprasad Shivaram Bhat
一周热门 更多>