具有注释性能问题的CDS视图(参数/过滤器注释)

2020-08-31 02:06发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我对CDS视图有疑问。 ...

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

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


你好

我对CDS视图有疑问。 我使用带有注释的CDS View创建了一个OVP(Fiori Elements),除了遇到性能问题之外,其他所有东西都工作正常。

我正在使用CDS视图"堆栈"(CDS视图调用前一个),并且由于海量数据,该应用程序的加载速度确实很慢。 我以为我必须过滤第一个CDS才能减小音量。

这是我的屏幕:

目前,我在最后一个称为(ZCDS_OVP_TBP_ALL_ANNO)的CDS中使用过滤器注释:

//在此处加入操作//

然后

现在,我想使用用户在输入中输入的"公司代码"参数(bukrs)过滤第一个CDS(ZCDS_REV_YEAR)。 这样我可以大大减少最终CDS中的数据量,从而降低其性能。

我该怎么做? 我尝试在第一个CDS视图(ZCDS_REV_YEAR)中添加" @ Consumption.filter",但它没有任何改变。

感谢您的帮助!

(75.3 kB)
付费偷看设置
发送
5条回答
吹牛啤
1楼-- · 2020-08-31 02:39

你好

在呼叫层次结构中,有许多标准的CDS视图可调用参数化的CDS。 例如,请检查C_TrialBalance。

说过的话,如果您的唯一目标是在表字段上应用直接过滤器(而不是复杂的操作,例如计算YTD余额或在复杂的过滤器条件或联接条件中使用参数),那么具有参数不会增加任何值。

如果字段直接存在于表中,则SQL优化器会自动将过滤器向下传递到基表。 因此,我认为您的情况下效果不佳的原因似乎是不同的,与过滤器无关。

我建议在DB02中选中"昂贵的语句"选项,并缩小到SQL调用层次结构中的根本原因。

-Anup

何必丶何苦呢
2楼-- · 2020-08-31 02:43

首先感谢您的回答。

事实是,如果我在第一个CDS" ZCDS_REV_YEAR"中为BUKRS字段设置了固定值(例如," F372"),则性能要比不这样做并使用" F372"参数启动OVP更好。 输入中的值(称为ZCDS_OVP_TBM_ALL_ANNO)。 它会为卡/kpi返回正确/相同的值(很明显),但是会花费更长的时间。

这就是为什么我假设参数没有传递给基表的原因...

葫芦娃快救爷爷
3楼-- · 2020-08-31 02:59

你好,尼古拉斯,

您是否获得了相同的解决方案,实际上我也有使用CDS视图创建的OVP应用程序。 但是,一旦我向CDS添加参数,卡片就停止显示数据。 我已经为manifest.json中的所有卡添加了OdataSelect paramter = true,也出现了参数,但未选择任何内容。

渐行渐远_HoldOn
4楼-- · 2020-08-31 02:35

你好Abhishek,

您的用例是否会阻止您使用过滤器注释(@ Consumption.filter)? 因为如果没有,我认为这是最好的方法:更简单易用,并且看起来和参数一样有效(如果没有更多的话)。

d56caomao
5楼-- · 2020-08-31 02:42

你好,尼古拉斯,

是的,实际上@ consumption.filter需要应用于Selection中存在的字段。 我有一些日期条件需要传递给WHERE条件,而属于这些日期的记录需要再次获取。 我有开始日期和结束日期,也有CDS层次结构,因此我需要将此参数传播到基本CDS视图。

一周热门 更多>