为什么密钥不是唯一的?

2020-08-17 21:43发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好 我已经创建了如下的CD...

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

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


大家好

我已经创建了如下的CDS视图:

定义视图YGAC_I_SINGLE_COMPOSITE_ROLE
   带参数
    pm_role2:grac_roleid
   从YGAC_I_ROLE_RS中选择
   关联[1..1]与_Connection.RefRoleId = $ projection.RoleId2上的_Connection到YGAC_I_ROLE_CONNECTION
   关联[1..1]到YGAC_I_ROLE,作为_Role.RoleId = $ projection.RoleId2上的_Role
 {
    关键RoleId2,
    RelationType,
    _Connection [inner] .Connector,
    _Role [inner] .RoleName,
    _Role [inner] .RoleId,
    _连接,
    _角色
 },其中YGAC_I_ROLE_RS.RoleId2 = $ parameters.pm_role2 

编译器显示警告:

关联_CONNECTION的基数1与打开条件ygac_i_single_composite_role.asddls/DA4_010_i0000168_en/.adt/ddic/ddlsources/ygac_i_single_composite_role/ygac_i_single_APposittaxs不匹配。

 YGAC_I_SINGLE_COMPOSITE_ROLE的键定义和YGAC_I_ROLE_RS的键定义是不同的,YGAC_I_SINGLE_COMPOSITE_ROLE的键中缺少ROLEID1 ygac_i_single_composite_role.asddls/DA4_010_i0000__y_ro_single_posite_roys_posite_roys_acle_posite_role_acly_posite_role_ac_yle_ac_yle_ac_yle_ac_yle_posite_acro_posite_role_ac_yle_ac_yle_acly_a_lei_roy_aclys_a_leed_a_leed_a_leed_a_leed_a_e_leas_a_leed_a_e_leas_a_lede_a
 

当我启动数据预览编辑器时,它显示:

如您所见,我在RoleId2列上有键重复尽管 列RoleId2定义为您的主键。

所以也许YGAC_I_ROLE_CONNECTION视图是造成该问题的原因,因为该关联

将[1..1]与YGAC_I_ROLE_CONNECTION关联为_Connection.RefRoleId = $ projection.RoleId2上的_Connection 

与YGAC_I_ROLE_CONNECTION上的主键无关:

定义视图YGAC_I_ROLE_CONNECTION
   从gracrlconn中选择
 {
   关键role_id作为RoleId,
       连接器作为连接器,
       将role_name作为RoleName,
       ac_ref_role_id作为RefRoleId,
       Updated_on为UpdatedOn,
       排除为排除
 } 

如何强制列RoleId2唯一?

谢谢

(32.8 kB)