Data source is not a transactional CDS view [OData Exposure]

举报
汪子熙 发表于 2023/04/25 12:36:54 2023/04/25
【摘要】 一个朋友遇到问题:给 ABAP CDS view 添加 OData.publish: true 注解激活之后,期望自动生成 OData 服务,但是遇到错误消息:Data source is not a transactional CDS view [OData Exposure]SAP 社区上有人问类似的问题:https://answers.sap.com/questions/78804/c...

一个朋友遇到问题:给 ABAP CDS view 添加 OData.publish: true 注解激活之后,期望自动生成 OData 服务,但是遇到错误消息:

Data source is not a transactional CDS view [OData Exposure]


SAP 社区上有人问类似的问题:https://answers.sap.com/questions/78804/cds-view-annotation-.html

可以尝试去后台使用事务码 /IWFND/MAINT_SERVICE, 对 OData 服务 ZFLIGHT_COM_CDS 手动激活。

如果后台激活 OData 服务后,回到 ABAP Development Tool 里激活 CDS view,还是遇到 Data source is not a transactional CDS view [OData Exposure] 的错误消息,那么参照这个帖子:

https://www.michaelmanagement.com/sap-error-messages/en/sadl_gw_dt_cds/sadl_gw_dt_cds004

Either add the annotation ‘@ObjectModel.transactionalProcessingEnabled:
true’ to the underlying CDS view or remove the annotation
‘@ObjectModel.transactionalProcessingDelegated’ from the consumption
view.

意思是要么给 zspfli_root 这个 underlying CDS view 里添加 @ObjectModel.transactionalProcessingEnabled 注解,要么从 consumption view zflight_com 里移除 @ObjectModel.transactionalProcessingDelegated.

背景知识

什么是 SAP core data service consumption view?

参考这篇博客,consumption view 是在 composite view 之上创建的,这意味着消费视图不与 DDIC 表/视图或基本视图交互。 消费视图写在提供事实数据和多维数据集数据的复合视图之上。 此视图用于将数据公开给不同的分析工具(例如 HTML、SAP BusinessObjects、Analysis for Excel、SAP Lumira 等),这有助于创建报告和不同的可视化来呈现业务数据。

什么是 SAP core data service composite view?

复合视图是在基本视图之上创建的,这意味着复合视图不直接与数据库进行数据交互,而是通过基本视图的维度结果集进行交互。 多个基本视图可以与连接/关联一起使用,以获取数据并对检索到的数据进行计算(例如:使用内置表达式和函数),以使用消费视图在不同的分析工具中消费。

如果想进行某种事务处理,需要使用 @ObjectModel.transactionalProcessingEnabled 来修饰 CDS view.

如果只有分析场景或用例,或者只想读取数据,则不需要 ObjectModel 注释,因为在这些情况下不需要 Business Object 或 BOPF 框架。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。