点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我在实现列表/集合/等时遇到问题。 与OData服务中的EntitySet一起使用。
我想在自定义用户任务UI中实现它,我在外部SAPUI5应用" decideOrder"中实现了该任务。
该应用程序本身可以与我在SAP Cloud Platform Workflow中的上下文模型(通过OData服务中的服务任务获取数据)完美配合
对于我的工作流程中的一个用例(顺便说一句,很容易的采购订单批准),我现在需要一个直接通过OData服务而不是我的上下文模型填写的列表。
为了进行测试,我使用随机用户数据创建了一个简单的OData服务。 我在一个新的UI5应用"测试表"中实现了它,并且即使没有编写任何代码也可以正常工作。
但是,当我想在我的工作流任务UI(与上面的应用程序具有相同的结构)中实现它时,没有显示任何数据。 我的" decideOrder" -App中的manifest.json同步数据没有问题,并且我将代码中的几乎所有内容与上面显示的App进行了比较。 现在,这是我的用户任务工作流UI的屏幕截图,其中没有显示来自同一OData服务的任何项目。
以下是上面显示的UI的代码:它与testtable App中的代码相同,但未使用IconTabFilter。
我从服务任务中获得的上下文模型是否确实通过EntitySet在OData模型方面存在问题? 我是否必须在工作流用户界面中分别初始化模型?
我真的没有主意...也许我错过了什么?!
提前谢谢!
此致
斯蒂芬
(14.8 kB)
斯蒂芬,你好
此行为是设计使然。 解释如下:
https://help.sap.com/viewer/ f85276c5069a429fa37d1cd352785c25/Cloud/zh-CN/c628bb07530147c6ad292f03c3b3b700.html
我想您的模型是在vour组件启动时实例化的。 如SAP帮助中所述,您必须为服务URL加上前缀。 因此,要么不使用模型的自动实例化并自己创建模型,要么可以尝试以下方法:
在Components.js中:
HelloJürgen,
非常感谢您的回答。
这似乎是解决我的问题的正确方法:)
此致
Stephan
你好,Stepan,
不知道您到底在尝试什么,但是我想这是同样的问题。 您必须在指向我的后端中存储的文档的每个URL前面加上我以前回答中的" startupParameters.oParameters.sApplicationPath"。 我的sap.m.UploadCollection包含指向我的SAP Backend中文档的URL时遇到了这个问题。 在Inbox中运行时,我必须在每个URL前面加上应用程序路径。
此致
于尔根
你好斯蒂芬,
让我尝试在这里用您的用例向您解释。
例如,您想从S4HANA OData调用中加载项目列表: https://my.s4hana.ondemand.com/sap/opu/odata/sap/ODataService/DokumentSet(PO_NUMBER ='12345 ',ARC_DOC_ID ='45677')/$ value
假设您已经测试过代码已将列表项加载到自定义应用程序中。 / <目标名称> /sap/opu/odata/sap/ODataService/DokumentSet(PO_NUMBER ='12345',ARC_DOC_ID ='45677')/$ value
>>如果您想使用与Workflow Task UI相同的自定义应用程序,那么您需要做更多的应用程序编码,如所述此处
>>任何外部API调用(如上述调用)都必须重定向到基于MyInbox的内部目标:/html5apps/
(在我的解释中也是如此 博客)
其他一切都保持不变。
这很简单。
让我知道它是否有效,
Archana
我很高兴它能成功! 快乐的工作流程...
HelloJürgen,
现在它可以工作了,我对来自OData服务的URL(到文档的链接)有疑问。 在我的收件箱中,它们不起作用,在外部应用程序中,它们起作用。
我也试图在这里找到解决方案:
https: //answers.sap.com/questions/12657333/problems-with-opening-urls-in-myinbox-in-user-task.html
然后我尝试感谢 Seshadri Sreenivas R 和 Archana Shukla 此博客中的所有内容:
https://blogs.sap.com/2017/10/22/part-3-calling-external-service-in-task-ui-of-sap-cloud-platform-workflow/ #
但是在我看来,它似乎无法正常工作,因为我像您上面的代码中那样实例化了它。
我如何实现OData服务和模型通过/html5apps/application/destination/sap/opu/odata/sap/ODataService路由?
在neo-app.json中,我的清单manifest.json的代码如下:
我是否必须对模型进行单独的Ajax调用,或者可以在函数_initComponentModels中实现它?
非常感谢您,
此致
Stephan
HelloJürgen,
再次感谢您。 正是那是我的问题! 同样与上载收藏集有关。
这是我当时试图打开的URL,但返回500 Internal Server Error:
我到底要在这里更改什么?/sap/opu/odata/不是应用程序路径,还是必须在URL中的哪里设置?
感谢和问候,
Stephan
一周热门 更多>