如何创建层次结构CDS视图?

2020-09-19 02:38发布

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

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


专家们,

我正在尝试创建没有层次结构目录的非常简单的层次结构

我的源代码如下。 我尝试同时激活这些源,但是它们出现了错误。

您对这些错误有任何想法吗?

错误:

基本对象ZGL_HIER不存在或无效

SAP对象VIEW GLHIERV无法分配给包XXXX

 @ AbapCatalog.sqlViewName:'GLHIERV'
 @ AbapCatalog.compiler.compareFilter:是
 @ EndUserText.label:'ZGL_HIER'
 @ObjectModel:{dataCategory:#HIERARCHY}
 @ Hierarchy.parentChild.name:" HIER1"
 @ Hierarchy.parentChild.label:'GL HIER1'
 @ Hierarchy.parentChild:
 {递归:{父:'ParentNode',子:'ChildNode'},
 siblingsOrder:{by:'ParentNode',方向:#DESC},
 orphanedNode.handling:#ROOT_NODES
 }
 @ AccessControl.authorizationCheck:#NOT_REQUIRED
 将视图ZGL_HIER定义为从zzglhier1选择
 将$ projection.ChildNode = _ZGL_COUNTRY.country上的[0 .. *]与_ZGL_COUNTRY关联为ZGL_COUNTRY
 {
     键zparentnode作为ParentNode,
     @ ObjectModel.foreignKey.association:'_ZGL_COUNTRY'
     键zchildnode为ChildNode,
     _ZGL_COUNTRY
 }
 

 @ AbapCatalog.sqlViewName:'ZGL_COUNTRYV'
 @ AbapCatalog.compiler.compareFilter:是
 @ EndUserText.label:'ZGL_COUNTRY'
 @ Analytics.dataCategory:#DIMENSION
 @ ObjectModel.representativeKey:'国家/地区'
 @ AccessControl.authorizationCheck:#NOT_REQUIRED
 将视图ZGL_COUNTRY定义为从zzglcountry中选择
 将$ projection.countory = _GLCOUNTRY_Hier1.ChildNode上的[0 .. *]与_GLCOUNTRY_Hier1关联到ZGL_HIER
 {
     @ ObjectModel.Hierarchy.association:'_GLCOUNTRY_Hier1'
     @ EndUserText.label:"国家/地区"
     将zzglcountry.zglcountry设置为国家/地区,
     _GLCOUNTRY_Hier1
 }
 

此致

Arisa

(16.8 kB)

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

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


专家们,

我正在尝试创建没有层次结构目录的非常简单的层次结构

我的源代码如下。 我尝试同时激活这些源,但是它们出现了错误。

您对这些错误有任何想法吗?

错误:

基本对象ZGL_HIER不存在或无效

SAP对象VIEW GLHIERV无法分配给包XXXX

 @ AbapCatalog.sqlViewName:'GLHIERV'
 @ AbapCatalog.compiler.compareFilter:是
 @ EndUserText.label:'ZGL_HIER'
 @ObjectModel:{dataCategory:#HIERARCHY}
 @ Hierarchy.parentChild.name:" HIER1"
 @ Hierarchy.parentChild.label:'GL HIER1'
 @ Hierarchy.parentChild:
 {递归:{父:'ParentNode',子:'ChildNode'},
 siblingsOrder:{by:'ParentNode',方向:#DESC},
 orphanedNode.handling:#ROOT_NODES
 }
 @ AccessControl.authorizationCheck:#NOT_REQUIRED
 将视图ZGL_HIER定义为从zzglhier1选择
 将$ projection.ChildNode = _ZGL_COUNTRY.country上的[0 .. *]与_ZGL_COUNTRY关联为ZGL_COUNTRY
 {
     键zparentnode作为ParentNode,
     @ ObjectModel.foreignKey.association:'_ZGL_COUNTRY'
     键zchildnode为ChildNode,
     _ZGL_COUNTRY
 }
 

 @ AbapCatalog.sqlViewName:'ZGL_COUNTRYV'
 @ AbapCatalog.compiler.compareFilter:是
 @ EndUserText.label:'ZGL_COUNTRY'
 @ Analytics.dataCategory:#DIMENSION
 @ ObjectModel.representativeKey:'国家/地区'
 @ AccessControl.authorizationCheck:#NOT_REQUIRED
 将视图ZGL_COUNTRY定义为从zzglcountry中选择
 将$ projection.countory = _GLCOUNTRY_Hier1.ChildNode上的[0 .. *]与_GLCOUNTRY_Hier1关联到ZGL_HIER
 {
     @ ObjectModel.Hierarchy.association:'_GLCOUNTRY_Hier1'
     @ EndUserText.label:"国家/地区"
     将zzglcountry.zglcountry设置为国家/地区,
     _GLCOUNTRY_Hier1
 }
 

此致

Arisa

(16.8 kB)
付费偷看设置
发送
1条回答
compass1988
1楼-- · 2020-09-19 02:54

亲爱的 Arisa

该定义几乎是正确的。文档ZGL_COUNTRY中只有一点错字:$ projection.countory = _GLCOUNTRY_Hier1.ChildNode上与ZGL_HIER的关联[0 .. *]为_GLCOUNTRY_Hier1

我建议您首先从ZGL_COUNTRY取消注释层次结构关联,然后再激活它,然后激活层次结构视图,最后再次添加层次结构关联并再次激活ZGL_COUNTRY。 这样,您就可以更好地控制错误。

尽管如此,层次结构定义仍然可以。 请注意,在您的情况下,层次结构的所有节点也必须是国家(这意味着它们必须是ZGL_COUNTRY的一部分)。

仅siblingsOrder并非100%准确。 它描述了如何对节点进行排序,但没有描述如何对叶子进行排序。 也许您可以使用默认排序。

此致

Stefan


一周热门 更多>