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

大带宽_海棠花下舒远百度云_免费

小七 141 0

在本系列博客的前几部分中,我描述了:

在SAP S/4HANA中,如何使用Active/Active(read-enabled)配置的一般架构,客户端如何决定是否允许从辅助SAP HANA数据库读取数据,如何将客户的意图转换为SAP HANA数据库提示。

一旦您正在实施SAP s/4HANA并希望使用主动/主动(启用读取)配置,您可能会问自己是否有一个选项来验证数据从何处读取,即主SAP HANA数据库还是辅助SAP HANA数据库。

好吧,我们有办法找到答案。但这有点棘手,需要不止一步:

博客系列的这一部分比其他部分要长一点,技术性更强。我尽量保持简单,把注意力集中在重要的方面。一如既往,欢迎提问和反馈。

5.1先决条件

您需要:

5.2将应用程序发出的调用与SAP HANA中生成的SQL select语句联系起来

好吧,SAP已经启用了第一组应用程序,用于从辅助SAP HANA数据库读取数据。这些在SAP note 2405182中列出。

您可以通过第5.3章中描述的方法之一选择SAP HANA中的SQL语句,并通过执行时间限制您的选择。但在繁忙的系统中,这会给您一长串select语句,使您很难决定您感兴趣的调用。

您在分析应用程序中的最终用户操作会导致针对ABAP中所谓的CDS视图的SQL select调用,从而导致从SAP HANA中的CDS视图表示读取数据。CDS代表核心数据服务,SAP的方法允许定义语义丰富的业务数据模型和建立在上面的服务。因此,一种实用的方法是通过CDS视图的名称来查找由应用程序引起的语句。

考虑到CDS视图有两个名称:CDS视图作为ABAP实体的名称,以及它在HANA DB(SQL视图或HANA表函数)上的表示名称。

对于SAP Fiori应用程序,物联网技术与应用,我可以使用F12浏览器工具来检查由UI发送到后端的http调用。在http调用中,我找到了ODATA服务名称,我通常可以从中推断出abapcds视图名称。以下描述是针对Google Chrome浏览器的,与其他浏览器类似。

请注意,有些例外情况下,ODATA服务的命名不同,企业信息化应用系统,因此无法轻松推断CDS视图。但是,在很多情况下,CDS视图的上述推导应该是有效的。

现在找到ABAP CDS视图的名称后,我应该考虑SAP HANA中的相应实体具有不同的名称。

我通过查看视图浏览器应用程序中的视图定义来找到SAP HANA实体名称,或者直接在ABAP开发工具中查看,或者在SAP HANA中选择。

在view browser应用程序中,我可以显示注释并找到标题注释:AbapCatalog.sqlview名称,告诉我HANA实体的名称:

在ABAP开发工具中,我会找到标题注释:@AbapCatalog.sqlview名称:, 告诉我HANA实体的名称:

在上面的例子中,HANA实体的名称是CMMSUPLREVALOVRQ.

如果我不想在ABAP开发工具中显示视图,我可以在SAP HANA中通过对存储CDS视图标题注释的表进行选择来获得相同的信息:

选择distinct strucobjn作为视图名称,作为DDHEADANNO中的HANA\u名称的值其中name='ABAPCATALOG.sqlview名称’strucobjn='C_supplierevaloverallyqry';

或从此表:

选择ddlname作为ABAP_名称,objectname作为ddldrelependency中的HANA_名称其中DDLNAME='C_supplierevaloverallyqry'和objecttype='VIEW';

现在还有一件更棘手的事情:

通常,快云服务器,分析应用程序的ODATA服务是所谓的分析查询视图。在分析查询视图中,另一个视图称为立方体视图。而多维数据集视图是SAP HANA中最后选择数据的视图。

那么如何确定ODATA服务中的CDS视图是否为分析查询?

我通过查看view browser应用程序中的视图定义,或通过查看ABAP开发工具中的视图定义,或通过SAP HANA中的选择来确定它是否为分析性查询。

在view browser应用程序中,我将找到标题注释:分析.查询:true:

在ABAP开发工具中,我将找到标题注释:@分析.查询:true:

如果我不想在ABAP开发工具中显示视图,我可以在SAP HANA中获得相同的信息:

从DDHEADANNO中选择名称、值其中name='分析.查询’strucobjn='C\u SUPPLIEREVALOVERALLQRY'

如果视图是分析性查询,则此语句将返回value=true;如果不是分析性查询,则返回no result。

同样,我有三个选项可以找到此结果:

我通过检查视图浏览器应用程序中的视图定义来找到多维数据集视图名称,我通过检查ABAP开发工具中的视图定义来找到立方体视图名称,我在SAP HANA中通过选择找到多维数据集视图。

在视图浏览器应用程序中,我可以在查询视图的交叉引用部分读取多维数据集视图的ABAP名称。它是具有"from"关系的视图名称:

在ABAP开发工具中,我将在视图定义中的"from"后面找到多维数据集视图名称:

在上面的示例中,多维数据集视图名称是C\U SupplierEvalOverall。请注意,这是ABAP CDS视图名称。请参阅上面的如何推导HANA实体名称!

如果我不想在ABAP开发工具中显示视图,我可以在SAP HANA中获得相同的信息:我阅读了SAP HANA表示的create语句,它是SQL视图或表函数:

从函数中选择a.definition作为where a.function\u联合所有人选择b.definitionfromviews作为b,其中b.view\u

我将获得的定义复制到编辑器中,云服务器的,搜索'from'并读取'from'后面的多维数据集视图名称。请注意,通过此方法,我获得了多维数据集视图的HANA实体名称。

5.3在SAP HANA中找到SQL select语句

我现在获得了应用程序从中读取的视图的名称。这是:

ODATA调用处理的视图(如果不是分析查询视图)或者分析查询视图调用的多维数据集视图(如果ODATA服务处理分析查询视图)