ABAP CDS + OData + Fiori智能模板; 查看参数不受欢迎吗?

2020-09-13 18:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我目前正在使用智能模...

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

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


大家好,

我目前正在使用智能模板和一些CDS视图来开发应用程序。

由于我需要执行一些计算(怪异的COEJ/COSR表及其基于列的周期!),因此我使用视图参数和一些技巧来完成工作。

所以我的消费视图的顶部看起来像这样:

问题是:在OData服务上将参数创建为单独的实体集,这导致智能模板将我对OData集合的选择限制为参数的实体集,同时自动定义了 导航到结果实体集。

(如果我删除了参数并在select语句上对其进行了硬编码,那么我将得到一个完全正常的列表报告,其中包含我希望看到的所有数据)

这意味着参数的实体集将用于列表报告(因此,仅将3个参数显示为智能表的列),结果的实体集将为 用于对象页面

我的目的是在智能过滤器栏上显示参数(也包括在"变体管理"控件中); 可以说是像过滤器一样工作。

我是否缺少可以作为解决方法的注释? 我看过@ Consumption.derivation的内容,但似乎不完全理解它们?

我要求的不仅仅是Smart Template应用程序可以咀嚼的吗? 我是否应该放弃(非常有限的)ABAP CDS视图并转到HANA CDS视图进行计算(加上.xsodata)?

谢谢

努诺

(3.0 kB)
8条回答
callcenter油条
2020-09-13 19:29

嗨努诺,

我遇到了同一问题的一个不太复杂的变体,而我的CDS视图中有一个用于读取多个文本的语言键的参数。 我可以通过以下注释解决它:

定义视图{my_view_name}
     带参数
         @ Environment.systemField:#SYSTEM_LANGUAGE
         @ Consumption.hidden:是
         p_langu:sylangu
 

结果是,当重新生成OData时(激活View时),不再为view参数提供单独的实体集,并且该参数完全不可见,并在运行时设置为用户的登录语言

在您的情况下,我想也许您可以添加3个视图字段,通过@ Consumption.derivation批注以某种方式将它们映射到3个参数,然后将3个视图字段用作过滤条件。 我还没有尝试过,所以如果没有其他人有解决方案,那么您就必须尝试一下。

干杯

Eric

一周热门 更多>

相关问答