CAP:错误:关联违反了引用完整性

2020-08-23 17:33发布

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

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


我在数据模型中定义了两个简单的表,如下所示。

实体应用{
     键ID:字符串(100);
         应用:本地化String(80);
 }
 实体操作:cuid {
     app:与Apps的关联;
     userID:字符串(12);
     timestamp:DateTime;
 }
 

如您所见,实体"操作"与实体"应用"具有关联。 但我不希望因此而创建任何外键 约束 。 也就是说,我需要能够在"操作"表中具有一些app_id,而该表在"应用程序"表中不可用。

这两个实体都在odata服务中公开。 当我使用" Apps"中尚不可用的app_id对" Actions"执行POST时,出现如下错误。

我有办法实现这一目标吗?

ref-con-error.jpg (24.8 kB)

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

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


我在数据模型中定义了两个简单的表,如下所示。

实体应用{
     键ID:字符串(100);
         应用:本地化String(80);
 }
 实体操作:cuid {
     app:与Apps的关联;
     userID:字符串(12);
     timestamp:DateTime;
 }
 

如您所见,实体"操作"与实体"应用"具有关联。 但我不希望因此而创建任何外键 约束 。 也就是说,我需要能够在"操作"表中具有一些app_id,而该表在"应用程序"表中不可用。

这两个实体都在odata服务中公开。 当我使用" Apps"中尚不可用的app_id对" Actions"执行POST时,出现如下错误。

我有办法实现这一目标吗?

ref-con-error.jpg (24.8 kB)
付费偷看设置
发送
2条回答
95年老男孩
1楼-- · 2020-08-23 17:58

亲爱的克里希纳,

我们自动检查所有提供的外键在数据库中是否具有匹配的条目。 因为没有匹配的外键,您会收到一条错误消息。

为什么不将外键留空并在其他条目存在后将其填充?

感谢您的澄清和问候,
大卫

当学会了学习
2楼-- · 2020-08-23 17:48

大卫,您好,感谢您的答复。

动作表包含所有用户的动作(交易数据),而Apps是可以配置的主表。 在某些情况下,主表未完全配置,但是我们不希望丢失的配置/主数据阻止我们记录用户的操作。 我们希望以后能够修复配置表。 我正在寻找一种告诉框架不要创建约束的方法。 我觉得这是一个普遍的要求。

当我在此处查看文档时, https://cap。 cloud.sap/docs/cds/cdl#managed-to-one-associations ,它表示

在数据库级别未添加外键约束。

该检查处于服务级别吗? 我觉得必须有一种方法不强制执行此检查。 谢谢您的宝贵时间。

一周热门 更多>