CDS中的AMDP和关联的业务场景

2020-09-02 17:19发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

请帮助我理解实时业务场景或业务用例,在这种情况下我们应该使用

1。 AMDP而非CDS视图。

2。 关联而不是加入。

在努力了解一种情况下,在实时业务环境中我将使用它们而不是另一个。

谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

请帮助我理解实时业务场景或业务用例,在这种情况下我们应该使用

1。 AMDP而非CDS视图。

2。 关联而不是加入。

在努力了解一种情况下,在实时业务环境中我将使用它们而不是另一个。

谢谢。

付费偷看设置
发送
6条回答
风早神人
1楼 · 2020-09-02 17:44.采纳回答

您好 Shubham Banerjee

在某些情况下,我可以为您提供帮助 可以使用AMDP,

1)显示报告,我们在其中显示物料详细信息及其当前有效价格。 这里的技巧是,对于相同的物料和UOM,您可能具有多个条件记录。 您甚至可能在同一期间有多个条件记录。 您只需要带出最新的一个。

2)显示一个报告,其中我在选择屏幕中选择了Option元素。

这完全取决于您,为了练习,您可以 做一个简单的报告。 仅通过过程程序创建它,然后通过普通CDS创建它,然后使用带有表功能的CDS(使用AMDP)。

这将使您有一个很好的理解!

xfwsx85
2楼-- · 2020-09-02 17:56

尊敬的Satish,

非常感谢Material Details方案,这绝对是我一直以来一直在寻找的内容,并全力以赴寻找解决方案,以解决AMDP比CDS飞跃的情况。

还有一件事,我遇到过类似的声明,例如AMDP如此强大,可以定义CDS源。 对此的任何投入都是非常可取的。

提前感谢。

compass1988
3楼-- · 2020-09-02 18:09

你好 Shubham Banerjee

让我尝试让它更简单!

1。 AMDP而不是CDS视图:

->那么AMDP只能在HANA是数据库的情况下使用。

->对于CDS视图,AMDP方法仅占 CDS类型为"具有表功能的CDS"。

->对于其他CDS视图,我们仅使用选择查询,除一个选择查询外,我们无法编写其他任何语句。 在同一选择查询中,我们必须容纳我们想要的所有可能的计算。 但这在调用情况下是无法实现的,例如在AMDP方法中,您可以编写带有Joins的Select语句,其中内部表可以与标准表联接。 这样,我们就消除了不必要的数据库中大量条目的处理。 有许多类似的技术可用于普通CDS视图中。

->将CDS与表函数一起使用或换句话说,AMDP方法是普通CDS视图中的另一个优点,您无法处理选择选项 报表中使用的带有表功能的CDS元素可以使用"动态选择"和"应用"过滤器功能来实现。

->请注意,您也可以创建AMDP方法并在报表中使用它,不一定需要通过CDS视图使用它们。

->以上几点可以帮助您 您了解了基本层次上的差异,但是当您深入研究时,会被更多的信息启发。

2。 关联而不是联接。

->与联接和关联的主要区别在于,如果尝试联接时将联接两个表,则无论选择查询中的字段如何,联接都会联接这些表。 关联的情况下,仅当您选择的查询具有与被连接的表相关的字段时,才执行联接。

->换句话说,只有在关联的情况下,才需要连接表。 更精确地说,"所有在选择查询中存在字段的表都将被联接,如果表中没有字段,那么即使该表是查询的一部分,也不会执行联接"。

< p>->现在为什么要这么做? 为什么我们需要这种关联? 如果使用关联创建查询,则稍后可以根据业务需要公开不属于初始查询的字段。

->另一个案例是,在O-DATA开发过程中,对于关联,我们也可以使用Luxury来处理可用字段。 基本上,开发人员可以选择创建协会或选择加入。 如果他认为所涉及的表可能是其他字段(不是初始查询的一部分)所需要的,那么他应该进行关联。

希望您现在有了更好的了解!

干杯! :)

感谢和问候,

Satish

Nan4612
4楼-- · 2020-09-02 17:57

尊敬的Satish,

非常感谢。 我觉得,您真的以前所未有的方式解释了此事。 如果您在使用AMDP而不是CDS的功能规范上工作,那么可能会提出另一个要求。

提前感谢。

灬番茄
5楼-- · 2020-09-02 17:48

您好, Shubham Banerjee

对于AMDP,您可以在下面的答案中看到它。

https://answers.sap.com/questions/472321/guidelines-to-use-cdsamdpopensql.html

对于"加入Vs关联"用例,请检查以下答案。

https://answers.sap.com/ questions/12712350/association-on-multiple-tables-in-cds-views.html

让我知道您是否仍然存在理解它们的问题。 :)

Br,
Mahesh

骆驼绵羊
6楼-- · 2020-09-02 17:47

舒巴姆 Banerjee ,这些答案中的解释不仅是概念性的,它们实际上是在谈论(实际上)使用这些概念的方式。

在CDS视图中不支持高级HANA SQL功能,如果需要的话 以程序方式编写类似于ABAP的代码(不完全相同但相似),则可以使用AMDP。 基本上,并不是所有的内容都可以使用cds视图来完成,它不支持例如排名。 因此,您将继续这样做。 所有其他正常情况下,您都可以使用CDS视图。

现在加入join vs cds。 您需要使用联接,以便在一个视图中公开所有数据,或者在odata服务中单个公开一个数据。 但是何时使用关联是如果您要基于CDS视图生成OData服务,并且如果您的odata服务需要多个实体集之间具有逻辑关系,则可以在CDS视图中使用关联,它将转换为多个实体集(如果 您可以从cds视图自动生成odata服务),否则您需要手动将CDS视图关联链接到OData服务项目实体集。

谢谢

Mahesh

一周热门 更多>