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

游戏服务器_cdn解析原理_三重好礼

小七 141 0

这份文件提供了什么?

本博客的重点是介绍HANA数据库引入后ABAP中的新编程技术。重点是提供一个指导方针,说明ABAP开发人员为什么以及如何开始转换代码以使用新的编码技术?

这里的目标受众将是ABAP开发人员,他们期待着对HANA编程的ABAP有一个基本的了解,并了解为什么要选择这些新功能。

本博客涵盖的领域:

代码到数据范例、OpenSQL、CDS视图、AMDPs。

让我们开始吧!

SAP ABAP多年来发展迅速。随着S/4HANA的引入,它逐渐成为一种更令人印象深刻、更有成效的语言。如果你问我ABAP是如何改进的,那么答案是"代码到数据"范式。

什么是代码到数据范式?

传统的方法是将数据库中的数据带到表示服务器,进行数据密集型计算和过滤,然后将过滤后的数据呈现给用户。

新的HANA方法是将我们的代码推送到所有数据所在的数据库层,在数据库层进行计算,只将相关记录带到表示服务器

由于C2D范式,将大量数据带到表示层的延迟导致的延迟被彻底消除,从而即使使用非常大的数据集也能获得高性能。

为了更好地理解这一点,让我继续使用任何ABAP开发人员都可以轻松关联的基本场景:

示例场景:ALV报告,返回"所有"供应商的主数据及其地址,这些供应商是活动的、未标记为中心删除的、未标记为"所有"公司代码下删除的、未标记为"所有"采购组织下删除的在这种情况下,小企业管理软件免费,由于获取所有供应商、所有公司代码和所有采购组织的数据,性能将受到影响。生成的报表将需要后台运行,在这种情况下,传统的ABAP报表流将获取如下数据:

如果select语句下没有使用连接,则表示层将与之交互几次。此外,云服务器价格比较,由于系统中有大量供应商数据,使用连接从这些表中获取数据的速度也会非常慢。那么我必须如何提高这里的性能呢?

回答:-代码下推使用

OpenSQL编程(虽然在这一点上有限制)

CDS视图

ABAP托管数据库过程

让我们访问以上每个功能,看看它们如何与HANA DB一起工作。

OpenSQL编程

使用OpenSQL编程,大数据产品,您可以在ABAP代码中编写OpenSQL语法。

在OpenSQL中编写代码select语句中的字段用逗号分隔,所有主机变量用"@"符号转义,串联可以在一个语句中使用"| |"等来完成。

上面的场景将被写为:

结果:

在这里你可以看到报告运行了1621毫秒,并返回了我们想要的结果。

这是一个非常基本的例子,我采取了,但在实时场景中,你可能会做一些聚合,或者在选择过程中转换某些数据,或者根据某些字段对结果集进行分组。虽然目前使用OpenSQL时,代码推送代码的机会有限,但是从7.4开始,这种语法已经得到了增强。释放。SAP有许多语法可以在代码中使用,以提高其性能。首先,您可以在ABAP术语表中找到非常描述性的示例和代码片段。

SAP引入了一种新的数据建模基础设施,称为核心数据服务(core data services)或CDS。使用CDS,数据模型是在数据库服务器上定义和使用的,而不是在应用服务器上。因此,表结果视图是在数据库级别创建的。cd与openSQL完全兼容,可以使用eclipseoxygen等ABAP开发工具编写。这些可以被报表和AMDP使用。

上面的代码将在Eclipse中创建为数据定义,263云通信企业版,定义如下:

结果:

CDS视图在39毫秒内返回结果。真棒?是的。

现在还可以用参数或关联创建CDS视图。如果您有一个固定的结果集和一些输入参数要传递,您可以选择创建一个带参数的CD。

如果您在视图中有许多表要处理,并且您想保持结果集的灵活性,返利app是真的吗,您也可以为类似的场景创建一个带关联的CD。

AMDPs顾名思义是在其上运行的数据库过程数据库,直接用ABAP编写。AMDP是使用AMDP类编写的。下面是使用上述场景创建AMDP类的示例。接口"IF\u AMDP\u MARKER\u HDB"将AMDP类与其他类区分开来。

类定义:

类似地,AMDP类实现将使用语法"BY DATABASE PROCEDURE FORLANGUAGE"定义方法。在我们的例子中,数据库将是HDB(HANA DB),语言将始终是SQLSCRIPT。

这个AMDP类可以在ABAP程序中使用,以实现代码下推功能。

结果:

选择OpenSQL、CDS还是AMDP?

任何开发人员都会想到的一个问题是如何在三种编程技术中做出选择。

在上面的示例中,您可以看到性能是CDS>OpenSQL>AMDP。

这是否意味着在上面的场景中,最好的选择是创建一个CDS?不完全是!

如果我不重用CDS视图,那么openSQL可能是一个同样有效的选择。

还要注意,CDS视图和AMDP只能使用Eclipse Oxygen等ABAP开发工具创建。请参阅以下链接以了解如何在您的系统上安装eclipse:

https://tools.hana.ondemand.com/#abap