CDS视图中的关联限制

2020-09-28 02:31发布

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

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


你好大师,

我最近开始与CDS协会合作,并且注意到与加入相比,它具有一些局限性。 局限性之一似乎是,如果我们想在同一CDS视图中使用其他表中的字段,则只能在所有打开条件下使用第一个数据源中的字段。

根据上面的示例,我们不能在同一CDS视图的路径表达式中使用_LFA1,因为我们在ON条件下使用了$ projection.lifnr,这属于关联_BSEG,它不是第一个数据源。 如果我们在这里使用JOIN而不是关联的话,它会很好地工作。 有人可以解释为什么我们对关联有这种限制吗?

此外,如果我删除路径表达式并仅公开_LFA1,则错误也将被删除,但我得到以下警告。

有人可以解释一下它们的意义吗? 感谢您的帮助!

温馨的问候,

Raveesh

association-with-error.jpg (73.1 kB)

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

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


你好大师,

我最近开始与CDS协会合作,并且注意到与加入相比,它具有一些局限性。 局限性之一似乎是,如果我们想在同一CDS视图中使用其他表中的字段,则只能在所有打开条件下使用第一个数据源中的字段。

根据上面的示例,我们不能在同一CDS视图的路径表达式中使用_LFA1,因为我们在ON条件下使用了$ projection.lifnr,这属于关联_BSEG,它不是第一个数据源。 如果我们在这里使用JOIN而不是关联的话,它会很好地工作。 有人可以解释为什么我们对关联有这种限制吗?

此外,如果我删除路径表达式并仅公开_LFA1,则错误也将被删除,但我得到以下警告。

有人可以解释一下它们的意义吗? 感谢您的帮助!

温馨的问候,

Raveesh

association-with-error.jpg (73.1 kB)
付费偷看设置
发送
4条回答
派大星 ヾ
1楼-- · 2020-09-28 03:35

$ projection表示当前的SELECT列表。 为了避免冲突,这在某种程度上限制了关联。 使用数据源本身而不是$ projection来消除错误。

基数记录了数据模型,并且应该在整个视图中与真实数据保持一致。 从最新版本开始,HANA会评估基数以进行优化。

半个程序猿
2楼-- · 2020-09-28 03:12

Hi Horst,

感谢您的回复!

即使我使用_BSEG而不是$ projection,我仍然会收到错误,尽管有所不同。 消除错误的唯一方法是将BSEG作为第一个数据源移到顶部,然后我可以在ON条件下使用它,无论我使用BSEG还是$ projection都可以正常工作。 这意味着,如果我要连接一系列表,例如A-> B-> C,则在ON条件下不能将B中的字段用于B和C之间的关联,因为JOIN可以很好地工作 。 关联看起来像是用于星型连接的场景,我们将事实表作为第一个表,并将其连接到其他维度表。

请问一次。

感谢和热烈问候,

Raveesh

Nir深蓝
3楼-- · 2020-09-28 03:11

此外,我只是检查了提供的基数无关紧要。 无论我提供[0 .. *],[1..1]或[0..1],它总是返回数据库中实际存在的条目数。 这是否意味着基数仅用于指示目的?

谢谢

Raveesh

浮生未央
4楼-- · 2020-09-28 03:16

如果您在HANA上并选择count(*),则可能会看到效果(从7.50左右开始)。 这是因为HANA基于基数进行了优化,因此表示的值应反映真实的数据模型,否则结果可能会有所不同。

PS:请不要再回答您自己的问题。

一周热门 更多>