SADL模型类型DDIC与预期的CDS类型不同

2020-08-23 16:22发布

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

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


尊敬的SAP OData专家

我正在尝试创建具有关联关系的CDS视图中引用的OData

 @ AbapCatalog.sqlViewName:'ZDDL_PO_DATA'
 @ ObjectModel.modelCategory:#BUSINESS_OBJECT
 @ AbapCatalog.compiler.compareFilter:是
 @ AccessControl.authorizationCheck:#检查
 @ EndUserText.label:"与关联的PO数据"
 将视图ZCDS_PO_DATA定义为从ekko中选择
 关联到[l]作为_ekko_lfa1的lfa1
     在ekko.lifnr = _ekko_lfa1.lifnr
 与ekpo的关联[*]为_ekko_ekpo
     在ekko.ebeln = _ekko_ekpo.ebeln
 将[*]与eket关联为_ekko_eket
     在ekko.ebeln = _ekko_eket.ebeln
 {
     密钥ekko.ebeln,
     ekko.lifnr,
     _ekko_lfa1,//公开关联
     _ekko_eket,//公开关联
     _ekko_ekpo//公开关联
 }
 

然后我创建的OData定义是SEGW,然后右键单击数据模型,然后引用

然后我选择CDS

可能是什么问题? 我在Google中搜索了该特定邮件,但找不到完全匹配的邮件。

最好的问候

安德烈·朱利叶斯

(10.7 kB)

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

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


尊敬的SAP OData专家

我正在尝试创建具有关联关系的CDS视图中引用的OData

 @ AbapCatalog.sqlViewName:'ZDDL_PO_DATA'
 @ ObjectModel.modelCategory:#BUSINESS_OBJECT
 @ AbapCatalog.compiler.compareFilter:是
 @ AccessControl.authorizationCheck:#检查
 @ EndUserText.label:"与关联的PO数据"
 将视图ZCDS_PO_DATA定义为从ekko中选择
 关联到[l]作为_ekko_lfa1的lfa1
     在ekko.lifnr = _ekko_lfa1.lifnr
 与ekpo的关联[*]为_ekko_ekpo
     在ekko.ebeln = _ekko_ekpo.ebeln
 将[*]与eket关联为_ekko_eket
     在ekko.ebeln = _ekko_eket.ebeln
 {
     密钥ekko.ebeln,
     ekko.lifnr,
     _ekko_lfa1,//公开关联
     _ekko_eket,//公开关联
     _ekko_ekpo//公开关联
 }
 

然后我创建的OData定义是SEGW,然后右键单击数据模型,然后引用

然后我选择CDS

可能是什么问题? 我在Google中搜索了该特定邮件,但找不到完全匹配的邮件。

最好的问候

安德烈·朱利叶斯

(10.7 kB)
付费偷看设置
发送
2条回答
能不能别闹
1楼-- · 2020-08-23 16:42

通常,当我们要使用CDS作为Odata服务中的参考数据源时,它期望目标关联实体是CDS实体,而不是DDIC实体。 对于上述问题,可以将表lfa1,ekpo和eket包装到自定义基本界面CDS视图中,然后使用它。

项目数据(EKPO)的CDS视图

 @ AbapCatalog.sqlViewName:'ZDDLPOITMDATA'
 @ AbapCatalog.compiler.compareFilter:是
 @ AbapCatalog.preserveKey:是
 @ AccessControl.authorizationCheck:#检查
 @ EndUserText.label:"采购订单项数据"
 @ VDM.viewType:#BASIC
 将视图ZCDS_PO_ITM_DATA定义为从ekpo中选择{
    //ekpo
     关键要求
     重点人物
     关键埃贝尔普
     唯一身份
 } 

供应商数据(LFA1)的CDS视图

 @ AbapCatalog.sqlViewName:'ZDDLSUPPLMDATA'
 @ AbapCatalog.compiler.compareFilter:是
 @ AbapCatalog.preserveKey:是
 @ AccessControl.authorizationCheck:#检查
 @ EndUserText.label:"供应商数据"
 @ VDM.viewType:#BASIC
 定义视图ZCDS_SUPPL_DATA为lfa1中的选择{
    //lfa1
     关键要求
     关键生活
 }
 

用于安排协议计划行的CDS视图

 @ AbapCatalog.sqlViewName:'ZDDLSCHLN'
 @ AbapCatalog.compiler.compareFilter:是
 @ AbapCatalog.preserveKey:是
 @ AccessControl.authorizationCheck:#检查
 @ EndUserText.label:"计划协议计划行"
 @ VDM.viewType:#BASIC
 将视图ZCDS_SCH_AGR_LN定义为从eket {
    //eket
     关键要求
     重点人物
     关键埃贝尔普
     关键人物
 }
 

ZCDS_PO_DATA:

 @ AbapCatalog.sqlViewName:'ZDDL_PO_DATA'
 @ ObjectModel.modelCategory:#BUSINESS_OBJECT
 @ AbapCatalog.compiler.compareFilter:是
 @ AccessControl.authorizationCheck:#检查
 @ EndUserText.label:"与关联的PO数据"
 将视图ZCDS_PO_DATA定义为从ekko中选择
 关联到ZCDS_SUPPL_DATA的[1]为_ekko_lfa1
     在ekko.lifnr = _ekko_lfa1.lifnr
 [*]与_ekko_ekpo关联到ZCDS_PO_ITM_DATA
     在ekko.ebeln = _ekko_ekpo.ebeln
 将[*]与_ekko_eket关联到ZCDS_SCH_AGR_LN
     在ekko.ebeln = _ekko_eket.ebeln
 {
     密钥ekko.ebeln,
     ekko.lifnr,
     _ekko_lfa1,//公开关联
     _ekko_eket,//公开关联
     _ekko_ekpo//公开关联
 } 

现在,当您转到SEGW并在ODATA服务的数据模型中添加参考数据源时,向导中将显示以下实体。

SKY徐
2楼-- · 2020-08-23 16:30

我正好面对 同样的问题,在我的案例中,将CDC视图中的DDIC实体即sbook包装了起来。 那解决了错误消息。 我相信SADL模型期望CDS是所有实体,而不是DDIC对象。

一周热门 更多>