带和不带参数的CDS视图-性能差异

2020-09-01 08:37发布

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

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


大家好,

我是CDS的新手,并且有一个要求,我们需要一个webdynpro屏幕,其中包含多个选项卡,每个选项卡都从创建的视图中提取一些值。 因此,当前它是从we​​bdynpro调用视图(视图的SQL名称)并传递过滤器参数的'select *'。 但是已经声明CDS视图不带参数,传递给调用视图的值更多地充当过滤器而不是参数。 但是,我还在CDS中看到了一个选项,其中VIEW声明中带有参数。 所以我的问题是,在声明带参数的CDS与不带参数的CDS时是否存在性能问题,主要是在通过从dynpro屏幕传递过滤条件从webdynpro调用CDS时。 如果是这样,如何将webdynpro屏幕中的参数/选择选项连接到CDS视图中的参数/选择选项。

问候,
JA

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

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


大家好,

我是CDS的新手,并且有一个要求,我们需要一个webdynpro屏幕,其中包含多个选项卡,每个选项卡都从创建的视图中提取一些值。 因此,当前它是从we​​bdynpro调用视图(视图的SQL名称)并传递过滤器参数的'select *'。 但是已经声明CDS视图不带参数,传递给调用视图的值更多地充当过滤器而不是参数。 但是,我还在CDS中看到了一个选项,其中VIEW声明中带有参数。 所以我的问题是,在声明带参数的CDS与不带参数的CDS时是否存在性能问题,主要是在通过从dynpro屏幕传递过滤条件从webdynpro调用CDS时。 如果是这样,如何将webdynpro屏幕中的参数/选择选项连接到CDS视图中的参数/选择选项。

问候,
JA

付费偷看设置
发送
3条回答
空代码
1楼-- · 2020-09-01 09:24

嗨JA

如果您在CDS视图中正确使用了过滤器,则没有性能差异,但是调用它们的方式有所不同。 将选择选项传递给CDS视图参数并不是那么简单。 如果您的参数仅是单个值,则可以使用带有参数的CDS视图。 对于选择选项,请准备编写AMDP类。

看起来您的过滤器是静态的,您可以继续使用带有过滤器的普通CDS视图。

me_for_i
2楼-- · 2020-09-01 09:31

您好 J ABAP

I 建议您尝试实施两种解决方案。 一个使用普通CDS,另一个使用具有表功能的CDS并找到两者的效率。

If完全基于您对不同表的处理要求,如果它是从多个表中直接获取而您却没有 没有复杂的操作,您可能会对CDS视图感到满意,因为在这种情况下您找不到性能上的任何明显差异。

如果您有复杂的操作或仅在以下情况下受支持的操作 很好地使用AMDP程序,您将了解相同的真​​正好处。 建议您通过下面的博客进行深入了解。

BLOG

N-Moskvin
3楼-- · 2020-09-01 09:37

您好 J ABAP

调用已经定义为带有参数的CDS的CDS视图总是比调用普通的CDS视图(未定义任何参数)更好

但是,带有参数的CDS有一个缺点,它不能自行处理select选项。 换句话说,带有参数的CDS只能处理参数,而不能处理选择选项。 如果您确定您的输入/过滤器始终仅是单个,那么我建议您确定使用带参数的CDS。

如果您有多个输入(如选择选项),我们确实有一个 解决带有参数的CDS中的选择选项的方法。 这是使用AMDB方法。 您必须按照以下步骤操作,以确保带有参数的CDS视图也可以处理"选择选项"。

1)带有参数的CDS的核心概念不会改变,您的CDS将仅处理参数,因此,第四个"选择"选项应 包裹在一个字符串中。 换句话说,您需要创建一个动态选择查询,在其中将select选项包装到一个字符串中。 如果您有两个选择选项,则将每个选择选项包装到不同的字符串中。

2)现在将作为字符串包装的Select Option作为参数传递给CDS。

3)在CDS中,实现将由AMDB方法(字符串参数)定义 将传递给AMDB方法,并使用APPLY_FILTER概念将其应用于数据。 例如,下面的代码。

您也可以在下面的博客中查找有关在CDS视图中使用"选择"选项的详细说明,如果对该博客有任何疑问,请告诉我们。

带有选择选项的CDS

总结:

对于Select Option方案,如果您想完全利用CDS概念,我建议按照上述步骤进行操作,否则您可以定义一个普通的CDS视图并调用

如果过滤器是单个值,则可以使用比Select选项方法更简单的参数来实现CDS。 请注意,定义和正常的CDS并通过过滤条件仍将起作用。 带有参数的性能明智的CDS总是比普通CDS更好。

希望它会有所帮助!

注意!

一周热门 更多>