点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我创建了一些CDS视图以定义成本...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我创建了一些CDS视图以定义成本...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我创建了一些CDS视图以定义成本中心组层次结构。
所以像这样的树...
-根组 -A组 --A.1组 --A.2组 ----A.2.10组 ----A.2.20组 -B组 --B.1组 ----B.1.10组 --B.2组 -C组 -C.1组
...变成这样的表
孩子| 姓名| 父母 A | A组| 根 A.1 | A.1组| 一个 A.2 | A.2组| 一个 A.2.10 | A.2.10组| A2 A.2.20 | A.2.20组| A2 B | B组| 根 B.1 | B.1组| 乙 B.1.10 | B.1.10组| B.1 B.2 | B.2组| 乙 C | C组| 根 C.1 | C.1组| C
请注意:
我的问题:
我想添加一个层次结构级别列,如下所示:
孩子| 姓名| 父| 水平 A | A组| 根| 1个 A.1 | A.1组| A | 2 A.2 | A.2组| A | 2 A.2.10 | A.2.10组| A.2 | 3 A.2.20 | A.2.20组| A.2 | 3 B | B组| 根| 1个 B.1 | B.1组| B | 2 B.1.10 | B.1.10组| B.1 | 3 B.2 | B.2组| B | 2 C | C组| 根| 1个 C.1 | C.1组| C | 2
-----
CDS视图
维度表
@ AbapCatalog.sqlViewName:'YA' @ AbapCatalog.compiler.compareFilter:是 @Analytics:{dataCategory:#DIMENSION} @ VDM.viewType:#BASIC @ AccessControl.authorizationCheck:#检查 @ EndUserText.label:"成本中心组" 定义视图YA_CDS 带参数 @消费: { defaultValue:" XXX" } 控制区域:kokrs 从setheader中选择为cost_center_group 左外连接setheadert作为文本在 cost_center_group.setclass = text.setclass 和cost_center_group.subclass = text.subclass 和cost_center_group.setname = text.setname 和text.langu = $ session.system_language 将[1 .. *]与setnode关联为_Hierarchy 上 $ projection.Class = _Hierarchy.setclass 和$ projection.ControllingArea = _Hierarchy.subclass 和$ projection.id = _Hierarchy.subsetname { 键cost_center_group.setname作为ID, text.descript作为名称, cost_center_group.setclass作为Class, cost_center_group.subclass作为ControlingArea, count(与_Hierarchy.setname不同)作为HasParent,//尝试在其他视图中求和 _阶层 } 哪里 cost_center_group.setclass ='0101'//成本中心组 和cost_center_group.subclass = $ parameters.controlling_area 通过...分组 cost_center_group.setname, text.descript, cost_center_group.setclass, cost_center_group.subclass
层次结构视图
@ AbapCatalog.sqlViewName:'YB' @ AbapCatalog.compiler.compareFilter:是 @ AccessControl.authorizationCheck:#检查 @ObjectModel:{ dataCategory:#HIERARCHY } @ VDM.viewType:#BASIC @ ObjectModel.representativeKey:'儿童' @ Hierarchy.parentChild: { 递归: { 父母:"父母", 孩子:"孩子" }, 兄弟姐妹订单: { 创建人:"儿童", 方向:" ASC" }, 目录:" _ CostCenterGroup" } @ EndUserText.label:"成本中心组层次结构节点" 定义视图YB_CDS 从setnode中选择作为CostCenterGroup 关联[1..1]到I_ControllingArea作为_ControllingArea 在$ projection.ControllingArea = _ControllingArea.ControllingArea 将YA_CDS关联[1..1]作为_CostCenterGroup 在$ projection.Child = _CostCenterGroup.id上 与YA_CDS关联的[1..1]作为_CostCenterParentGroup 在$ projection.Parent = _CostCenterParentGroup.id上 { 将CostCenterGroup.subsetname键设置为Child, _CostCenterGroup(control_area:'XXX').name作为Name, CostCenterGroup.setname作为父级, _CostCenterParentGroup(control_area:'XXX').name作为ParentName, CostCenterGroup.subclass作为ControlingArea, _ControllingArea, _CostCenterGroup, _CostCenterParentGroup } 哪里 CostCenterGroup.setclass ='0101' 和CostCenterGroup.subclass ='XXX' 和CostCenterGroup.subsetscls ='XXX'
这两个视图解决了层次结构问题。 为了尝试解决Level列,我尝试在第一个视图中添加一个称为HasParent的列。
我的目标是对它进行某种递归聚合,但是它没有用。 为此,我创建了第三个视图。
@ AbapCatalog.sqlViewName:'YC' @ AbapCatalog.compiler.compareFilter:是 @ AccessControl.authorizationCheck:#检查 @ EndUserText.label:"级别总和" 将视图YC_CDS定义为从YB_CDS中选择{ 儿童, 名称, 父母 父母名字, //每个非根节点始终= 2-有意义,但不是我所需要的 lvl + parent_lvl作为node_level, _CostCenterGroup }
系统版本:
SAP_ABA 750 SP5
谢谢!
嗨,
您找到问题的答案了吗?
非常感谢您完成编码。
一周热门 更多>