您的参考方面的targetQualifier属性在整个应用程序中是否应该是唯一的?

2020-08-23 03:42发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一些非常相似的CDS视图(即...

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

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


我有一些非常相似的CDS视图(即,在层次结构的不同级别上,大多数是相同的数据)。 为了开发这些视图(和元数据扩展),我根据需要复制/粘贴和调整了这些视图。 有时,"公共"字段只会显示在一个对象页面上。 有时,我在孩子的对象页面上从上到下获得"额外"字段。 使FIELDGROUP_REFERENCE的targetQualifier唯一似乎可以解决此问题,但是我找不到有关它的文档。

2条回答
樱桃小丸子0093
2020-08-23 04:06 .采纳回答

保罗,

您的问题似乎与ABAP堆栈中的CDS有关。

从OData批注的角度(CDS定义产生的XML)的角度来看,您要么指向没有限定符的字段组,要么指向引用构面中带有限定符的字段组。 目标或参考构面实际上是完整的注释路径(链接)。 这意味着,由于该字段组,它将指向实体类型的字段组;或者,如果添加导航属性,它将指向该导航属性后面的实体类型的字段组。 如果您检查生成的XML(例如在浏览器网络跟踪中),则会找到各个字段组的确切定义。

因此,您所描述的歧义似乎来自cds视图的组成及其后端的元数据扩展。 abap开发工具中有一个很棒的功能,称为"活动注释"(文档链接),它将针对特定视图准确地告诉您采用了哪些注释。 右键单击CDS视图(数据定义),然后选择"打开方式"->"活动注释"。 在它旁边,您可以找到"注释传播",它为您提供了另一个视角(文档链接)。

因此,如果您还没有这样做,我鼓励您使用这些工具来分析批注的依赖性和传播。

FIELDGROUP_REFERENCES应该用于向具有特定实体类型的特定标签的特定字段组添加属性(基于定义该类型的CDS视图)。

如果您具有商品实体集,则可能需要3个字段组:

不带限定符的FieldGroup,标签为"仓库",用于包装Property1,Property2,Property3

带有限定符'Supplier'的FieldGroup包装供应商/属性1,供应商/属性2

带有限定符"字段"的FieldGroup,用于包装Property4(例如高度),Property5(例如宽度)

我希望这些信息对您有所帮助。

关于,
Thorsten

一周热门 更多>