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

云服务器_企业备案域名购买_高性能

小七 141 0

下面的教程将向您介绍SAP Cloud SDK的最新特性,包括可扩展性、快速和类型安全扩展以及任何SAP S/4HANA系统的OData虚拟数据模型的依赖注入。

注意:这篇文章是系列文章的一部分。有关完整的概述,请访问SAP Cloud SDK概述。

此博客文章向您介绍了SAP Cloud SDK的最新虚拟数据模型功能。在这个博客之后,您将能够理解

如何在OData的虚拟数据模型中使用来自S/4HANA的自定义字段扩展。如何将虚拟数据模型中的连接实体连接起来。如何利用依赖注入将客户端代码与SDK提供的类更好地解耦。

要成功完成本教程,您必须至少完成以下教程:

SAP Cloud SDK的第5步:Hystrix的弹性

此外,提前检查OData的虚拟数据模型很有帮助:

SAP Cloud SDK第10步:OData的虚拟数据模型。

此外,要使用所有功能,大数据什么意思,请至少更新到SAP Cloud SDK版本1.6.0。依赖注入和可扩展性从1.5.0版开始就可以工作了。因此,请确保您的SDK物料清单得到了相应的更新,如下所示:

作为所有三个功能的基础,我们将使用以下GetBusinessPartnerCommand到business partner API中,该API已包装到一个弹性Hystrix命令中。调用本身请求所有业务伙伴(客户)的名字和姓氏。

我们还将使用以下使用GetBusinessPartnerCommand的简单Servlet:

提示:两个文件都转到生成的项目结构中的:/application/src/main/java。请将它们放入默认包或一些新创建的包(例如。,物联网是什么,com.yourcompany公司).

当我们在服务器上调用这个servlet时,我们可以看到这样的结果:

如果您有类似的结果,您就可以继续本教程了。

动机

通常,企业需要增强SAP的标准数据模型S/4HANA系统。使用所谓的应用内可扩展性概念的工具,关键用户能够向某些数据结构引入额外的字段。作为应用程序提供商,此机制还可用于引入与您的应用程序扩展相关的新数据字段。

无论哪种方式,我们都希望能够在应用程序代码中使用和使用此类自定义字段。

如何

在我们的示例中,我们使用两个自定义字段来记录业务伙伴数据模型业务合作伙伴最初由谁提议(字段:YY1\U ProposedBy\U bus)以及是否在提议后批准了业务合作伙伴(字段:YY1\U ApprovedBy\U bus)。我们通过SAP S/4HANA的所谓应用内扩展功能进行了修改,您可以在授权用户的Fiori启动板上使用该功能。您可以查看Thomas Schneider的博客了解更多详细信息:s/4 HANA的关键用户扩展工具。

基于此扩展,我们可以检查哪些业务伙伴必须获得批准,如果需要,我们将其视为有效的业务伙伴。

基于这两个扩展字段,我们现在可以使用这两个附加字段作为投影条件的一部分。由于我们只对业务伙伴的扩展字段感兴趣,API只接受在BusinessPartnerField下键入的扩展字段。

我们在初始示例中添加的两行是:

new BusinessPartnerField("YY1\U ApprovedBy\U bus")new BusinessPartnerField("YY1\u ProposedBy\u bus")

再次部署之后,我们可以看到定制字段得到了正确的服务:

以编程方式使用扩展字段

当然,扩展字段不能仅作为对API的GET请求的一部分提供,但是您可以以编程方式使用它们。例如,在每个对象实例上,您可以访问定义了哪些自定义字段,并利用以下方法获取它们的名称:

实体.getCustomFieldNames();实体.getCustomFields();实体.setCustomField();

示例:

作为一个小示例,我们希望为我们的应用程序的客户提供一个更好的表示,因为我们不喜欢这些技术性太强的扩展字段名。

因此,我们编写自己的业务伙伴实体MyBusinessPartner,它从提供的业务伙伴实体继承而来。

这里我们只将业务伙伴实体的一些字段映射为可读性更好的名称:

在我们的servlet中,我们需要稍微调整一下逻辑,将原始业务伙伴包装并展开为我们自己的业务伙伴实体:

因此,我们现在可以通过我们的初始servlet公开我们的新MyBusinessPartner实体,这将导致以下结果:

Type safe and earge Expand

Motivation

至今,我们只与业务伙伴实体合作。然而,这仅仅是更复杂数据模型的根实体。例如,每个业务伙伴都可以与零到多个BusinessPartnerAddresses相关联,而这些地址也可以与零到多个BusinessPartnerEMailAddresses相关联。ERP上下文中另一个流行的关联是标题项关系,如发票标题和发票行项目。

一种可能性是,仅使用每个实例具有的fetchXY()方法来考虑延迟获取连接的实体:

在实体包含大量数据和与数据的交互允许逐步解析模型(例如,为UI延迟加载实体)。