断言失败:属性“ FilterRestrictions”定义了两次

时间:2019-10-18 15:28:11

标签: annotations odata metadata cds

最近,我们将系统从1709年升级到1809年。我们使用自定义CDS视图构建了Custom Fiori APP,并且在1709年运行良好。但是在系统升级后,出现错误:

assert-dbg.js:34断言失败:属性'FilterRestrictions'被定义了两次;源=元数据文档,注释目标= z ******** _ CDS.ZFDC_MY_DEFAULTS_CDS_Entities / Z_PROJECT_CREW,术语= Capabilities.NavigationRestrictions

其元数据如下:

-<Annotation Term="Capabilities.NavigationRestrictions">
-<Record>
-<PropertyValue Property="RestrictedProperties">
-<Collection>
-<Record>
<PropertyValue Property="NavigationProperty" NavigationPropertyPath="Parameters"/>
-<PropertyValue Property="FilterRestrictions">
-<Record>
<PropertyValue Bool="false" Property="Filterable"/>
</Record>
</PropertyValue>
-<PropertyValue Property="FilterRestrictions">
-<Record>
<PropertyValue Bool="false" Property="Filterable"/>
</Record>
</PropertyValue>
</Record>
</Collection>
</PropertyValue>
</Record>
</Annotation>

CDS视图如下:

@AbapCatalog.sqlViewName: 'Z_PROJ_CREW'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Project maping to Crew'
define view Z_PROJECT_CREW 
    with parameters 
        p_projectId: ps_pspid,
        p_userName:  xubname 
    as select from zdef_employ {
    key zdef_employ.pernr   as PersonnelNo,  
    key zdef_employ.pspid   as ProjectID, 
    key zdef_employ.uname   as UserName, 
    zdef_employ.cname   as PersonnelName,  
    zdef_employ.post1   as ProjectName, 
    zdef_employ.deleted as Deleted,  
    zdef_employ.erdat   as CreatedOn,  
    zdef_employ.ernam   as CreatedBy,  
    zdef_employ.aedat   as ChangedOn,  
    zdef_employ.aenam   as ChangedBy
} where zdef_employ.pspid = $parameters.p_projectId 
    and zdef_employ.uname =  $parameters.p_userName
    and zdef_employ.deleted = 'N'

由于元数据是自动生成的,因此不确定如何修复它。我们目前还不想尝试修改注释。有人有这个问题吗?或专家的任何建议?

我确实找到了一个SAP注释:2808045-OData元数据:缺少导航限制的功能注释。由于受支持的SP,因此不适用于我们的系统。

有任何答案或建议吗?非常感谢!

1 个答案:

答案 0 :(得分:1)

如果唯一的更改是从1709到1809的升级,则您可能希望通过客户消息将此问题报告给SAP。