Data source is not a transactional CDS view [OData Exposure]
一个朋友遇到问题:给 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 框架。
相关文章
- [Android Pro] 使用apktool工具遇到could not decode arsc file的解决办法
- UnityException: Texture is not readable
- Linux - mysql 异常: ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
- ORA-00923: FROM keyword not found where expected
- Tomcat的异常 之 java.lang.IllegalArgumentException:Document base *** does not exist or is not a readable
- ORA-01078: failure in processing system parameters & LRM-00109: could not open parameter file
- SpringBoot上传时出现异常 Required request part 'file' is not present
- 【RF库Collections测试】Dictionary Should Not Contain Key
- fiddler---content-type:multipart/form-data is not yet fully supported
- 13. 罗马数字转整数 not AC(待解决)
- 【39】警告Device contains calibration data of version 1437204487 which is not supported in this version
- env-cmd is not recognized as an internal or external command
- why some product does not have Note assignment block
- Why with_indobjects is not available in product search
- created note is not displayed in web client ui
- nz-input-group is not a known element的解决方法
- TypeError: value.getTime is not a function 报错
- 成功解决SyntaxError: future feature annotations is not defined
- 成功解决TypeError: a bytes-like object is required, not 'str'
- 已解决Could not find file with URI “/opt/data-integrationugins“ because it is a relative path
- 已解决(pip报错)WARNING: The repository located at mirrors .aliyun.com is not a trusted or secure host and
- OSError: image file is truncated (12 bytes not processed) Premature end of JPEG file
- ReferenceError: __dirname is not defined in ES module scope
- 成功解决:Svnion not found. installat
- Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'jdbc.username' in string value "${jdbc.username}"
- Public Key Retrieval is not allowed(不允许公钥检索)【解决办法】
- StandbyException): Operation category WRITE is not supported in state standby. 解决方案
- 启动Spring boot项目报错:java.lang.IllegalArgumentException: LoggerFactory is not a Logback
- Ubuntu下进行busybox配置编译时报错:Command ‘make‘ not found, but can be installed with:
- Androidstudio报错:Could not find method androidTestCompile()