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

腾讯云_服务器基础_怎么样

小七 141 0

简介

S/4 HANA云环境可能对开发过程构成严重挑战,因为您可以进行的业务流程修改数量有限,并且后端无法访问。因此,开发新应用程序的唯一方法是浏览sapapi Business Hub,并开发UI5应用程序,前提是您拥有NEO或cloudfoundry子帐户来托管该应用程序。该应用程序可以很容易地添加到自定义应用程序部分,其中提供了UI5应用程序的链接,然后您只需分配您选择的业务目录即可。

从去年开始,作为开发人员/集成顾问,我一直在开发S/4 HANA(公共)云,我想分享我的经验,通过将UI5与SCP集成相结合来开发混合应用程序。

这种方法的局限性

如果你发现某个API,返利商城系统开发,它有数万或数十万条记录,大数据分析网站,如果你想构建一个算法,在执行任何你想要的最终CRUD操作之前循环并更改负载,你会看到浏览器将被冻结,甚至崩溃。

如果没有办法使用后端,一个合适的解决方案将是使用SAP Cloud的功能平台集成,可以在后台处理所有记录。唯一需要确保的是,您有一个开发UI5应用程序的Web IDE和一个激活的租户,以便开始SCP集成。

业务场景

假设客户有多个需要自动扩展的客户项目,或者他们需要对金额应用新的费率。如果所讨论的客户将拥有超过10000个这样的客户项目,那么仅对UI5应用程序来说就可能是一个巨大的挑战。这就是SCP集成来拯救这一天!

S/4 HANA Cloud中的客户项目可以使用API SC_PROJ_ENGMT_CREATE_UPD_SRV创建和更新

如上所述,我使用此API在将来扩展客户项目并对其金额应用指数化费率,如下所示:

计划客户项目-扩展项目

计划客户项目–Biling Tab–指数化过程

我将要介绍的混合应用程序主要关注指数化过程,但这两个进程的执行仅在API的实体类型上有所不同,您将在下面的自定义集成iFlow中使用这些实体。

为了避免在前端应用此算法的实际破坏性影响,我利用了SCP集成的强大功能,其中大多数POST和修补程序调用都是移植的。这意味着我可以使用UI5应用程序来显示结果,也可以触发项目来添加到队列中,或者移除一路上卡住的项目(重置它们的状态)。

使用自定义CDS视图和自定义业务对象

在S/4 Hana云中,我可以公开CDS视图和自定义业务对象(CBOs)作为API。但有一个限制,因为CDSAPI只能被读取(GET),而在CBO上您可以创建/更新或删除记录。

也就是说,为了准备模型,我首先必须构建一个带有一些唯一主键的CBO,特定于CDS中使用的数据源I d U EngagementProject。此CBO稍后将从前端应用程序和自定义集成iFlow调用。

在发布CBO后,我可以继续构建CDS视图,该视图将主源I d u EngagementProject和CBO作为辅助源。

在CDS内部,构建了一个自定义列(添加->计算),如果制定了填充CBO状态列的规则:

因此,您可以使用此字段显示记录的状态。(所有未处理的记录将自动具有"待发送"状态)。

在构建CBO和CD之后,CD和CBO都通过通信场景和通信安排进行了公开,通信场景和通信安排为我提供了使用OData V2的服务url。

有了此信息,CD现在可以在前端应用程序中。

构建UI5应用程序

对于UI5应用程序,我使用了SmartTable和IContabar这两个UI元素的组合。

概括地说,UI5应用程序将以所有记录的状态"待发送"开始。用户可以灵活地选择表中的一行或几行,并在CBO的OData批处理调用中处理它们,将状态更改为"Added to queue"。当至少有一个项目具有此状态时,我能够触发iflow,因此状态将移动到"Processing Started"和"Finished"。

SmartTable将加载CDS数据,IconTabBar帮助我们直观地监视操作。。结果应该是这样:

图标选项卡栏允许您创建不同的图标,然后我可以根据状态CBO列进行筛选。无论何时按下其中一个选项卡,您都可以根据所选条件自动筛选。

通过在重新绑定之前调用SmartTable事件来完成。首先在定义SmartTable的主视图中指定事件"beforeRebindTable="onBeforeRebindTable"。这将允许我在每次通过调用控制器中的方法来选择和取消选择选项卡时自动筛选表:

图标选项卡栏也有每个状态的计数。这是通过创建一个方法来动态获得的,企业管理应用,该方法处理对CDS的异步调用,并获取和显示计数:

通过将调用中定义的JSON模型映射到IconTabFIlter来显示计数:

现在我已经讨论了表的过滤,我想指出我对SmartTable即刷新CBO按钮,用户可以使用该按钮在状态处理开始时自动重置任何卡住的项目。

要实现此按钮,只需声明并调用SmartTable的onAfterRendering方法: