SAP Cloud Platform Workflow的自定义用户任务UI中的列表中未显示任何项目

2020-09-10 11:36发布

         点击此处--->   EasySAP.com群内免费提供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)

         点击此处--->   EasySAP.com群内免费提供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)
付费偷看设置
发送
8条回答
Tong__Ming
1楼 · 2020-09-10 12:02.采纳回答

斯蒂芬,你好

此行为是设计使然。 解释如下:

https://help.sap.com/viewer/ f85276c5069a429fa37d1cd352785c25/Cloud/zh-CN/c628bb07530147c6ad292f03c3b3b700.html

我想您的模型是在vour组件启动时实例化的。 如SAP帮助中所述,您必须为服务URL加上前缀。 因此,要么不使用模型的自动实例化并自己创建模型,要么可以尝试以下方法:

在Components.js中:

/**
 *覆盖UIComponent的功能,因为如果在MyInbox-App中运行,我们的oData-Service需要一个不同的URL
 * @参数oManifestModels
 * @参数oManifestDataSources
  */
 _initComponentModels:函数(oManifestModels,oManifestDataSources){
 var服务;
//在收件箱中运行?
 如果(this.getComponentData()&& this.getComponentData()。startupParameters){
 var startupParameters = this.getComponentData()。startupParameters;
 如果(startupParameters.inboxAPI){
//是,在oData URL前面加上应用程序的路径
 var prefix ="/" + startupParameters.oParameters.sApplicationPath;
 用于(oManifestDataSources中的服务)
 如果(Object.prototype.hasOwnProperty.call(oManifestDataSources,服务))
 如果(oManifestDataSources [service] .uri)
 oManifestDataSources [service] .uri =前缀+ oManifestDataSources [service] .uri;
 用于(oManifestModels中的服务)
 如果(Object.prototype.hasOwnProperty.call(oManifestModels,service))
 如果(oManifestModels [service] .uri)
 oManifestModels [service] .uri =前缀+ oManifestModels [service] .uri;
 }
 }

 UIComponent.prototype._initComponentModels.call(this,oManifestModels,oManifestDataSources);
 },
CPLASF-自律
2楼-- · 2020-09-10 12:25

Hello Archana,

运作良好:)。

感谢您的明确解释!

不得不省略destination_name,然后它起作用了。

感谢 Juergen Keller Archana Shukla 为您提供帮助!

此致


斯蒂芬

一周热门 更多>