云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

MySQL数据库_便宜的网站建设_怎么申请

小七 141 0

本博客是我上一篇博客文章的延续,我概述了如何利用SCP工作流来扩展SAP资产智能网络中的设备创建过程,包括数据质量和治理。

在本博客中,我将分6个步骤向您介绍技术实现细节。让我们开始:

创建两个组AIN\U Equipment\U Reviewers和AIN\U Equipment\U Managers并将用户分配给这些组。

您可以使用用户授权应用程序定义对资产建模业务对象的细粒度访问,例如。,为您组织中的用户提供设备。

我在此处创建了两个组织单位"审阅者"和"管理者",并将我在步骤1中创建的组分配给相应的组织单位,这些组织单位具有审阅者的"读取"权限和管理者的"删除"权限。我故意没有在这里分配任何业务对象(设备)。我将在我的工作流程中使用AIN用户授权API动态地完成这项工作。您将在步骤5中进一步了解这一点。

现在让我们看看我们将要使用的AIN API。

我们将使用AIN提供的一个用户授权API来动态地向组织单位添加/删除业务对象。以下是文档。

简要回顾一下,我们在步骤2中创建了两个组织单位,并为用户组分配了相关授权。我们现在将使用此API将审批流程中的特定设备添加到工作流中的审阅者和经理组织单元。为了在工作流中使用这个API,我为API创建了一个目标配置。

有多个资源解释如何创建自定义任务UI。在大多数情况下,您可以遵循SCP工作流文档或DJ Adams在SAP开发人员中心上的本教程。让我来详细介绍一下我为这个场景所做的一些事情。

注意:我确实实现了一些变通方法,这些方法可能不是所有情况下都需要的。另外,人工智能可以做什么,有些变通方法可能不适合生产性用例。

我扩展了标准设备应用程序一次,作为审阅者任务和创建者任务的自定义任务UI。我在这两个方面都重用了扩展应用程序案件。案件下表描述了任务应用程序的预期行为,

步骤4.a.为了根据是为审阅者任务还是管理者/创建者任务呈现UI来创建操作按钮,我从工作流中的用户任务配置中传递了一个参数作为标识符。(在步骤5.d和5.f中描述)可以使用组件启动参数访问此参数。我使用此值创建"批准/拒绝"按钮或"完成"按钮。

步骤4.b.为了在上下文中加载特定设备的单个设备记录的数据,我执行了以下操作:

将设备id作为参数从工作流传递到扩展应用程序组件的组件启动参数中。参见步骤5.d和5.f。我在公园里定了一条新路线清单.json扩展应用程序的文件,以处理"我的收件箱"的详细视图路由,并加载"设备详细视图"而不是"设备列表"视图。"路由":{"路线":{"细节":{"pattern":"详细信息/{SAP\uu Origin}/{InstanceID}/{contextPath}","视图":sap.iot.ain公司.管理设备.view.EquipmentComponentPage"}}}​当应用程序在收件箱中呈现时,我必须重写其中一个内部方法来处理路由,从启动参数获取设备id,准备导航上下文对象并触发相应的路由(在标准设备应用程序中)以显示设备详细信息sap.iot.ain公司.库可重用视图.component.ComponentBaseController组件.原型.mHandleNavigation=函数(oEvent){变量路由=oEvent.getParameter参数("名称");变量运算图=oEvent.getParameter参数("参数");变量oObjectPageParams;if(sRoute=="detailsWithQueryParam"){oParams={身份证件:jQuery.sap.geturi参数().get("id")//如果可以解析1880004348,则可能更改为参数};}else if(sRoute=="细节"){变量sId=此.getOwnerComponent().getComponentData()。startupParameters.OpParameters.oQueryParameters参数.id[0];oParams={编号:sId};}oObjectPageParams=this.fngeObjectPageParams(oParams公司);if(sRoute==="componentHierarchyPage"| | sRoute==="detailsWithQueryParam"| | sRoute==="detail"){//其他代码..................................................................................这个_oRouter.FireRoutePattern匹配({姓名:此.sDETAILSPAGE,参数:oObjectPageParams});}};

我想谈的另一件事似乎是在SCN上被问了几次的问题——为什么服务调用或从我的自定义任务UI任务UI调用外部URL在收件箱中呈现时失败,而它们是独立工作的?因此,答案是:我的收件箱动态实例化了自定义任务UI组件,因此任务UI组件现在是父"我的收件箱"组件的子组件。加载自定义任务UI资源(js文件/图像/服务等)的所有调用都是相对于父级的,并通过neo中特别定义的路由进行路由-应用程序.json我的收件箱,以便正确的路由。现在,出于这个原因,要从自定义任务UI内部访问它们,必须使用实际路径前面的/html5apps//来定义这些调用。见博客。但是在我的例子中,当我扩展一个标准应用程序时,我不可能按照建议重新定义路径。因此,我截获了后端服务调用,学习大数据,并重新路由了相对于扩展应用程序的调用。