I_FinWBSElementHierarchyNode

DDL: I_FINWBSELEMENTHIERARCHYNODE Type: view_entity COMPOSITE Package: FINS_FIS_API

Fin WBS Element Hierarchy Node

I_FinWBSElementHierarchyNode is a Composite CDS View that provides data about "Fin WBS Element Hierarchy Node" in SAP S/4HANA. It reads from 2 data sources (I_WBSElementStructure, R_FinWBSElementHierarchyNode) and exposes 28 fields with key fields WBSElementHierarchy, HierarchyNode, ValidityEndDate, HierarchyNode, ValidityEndDate. It has 6 associations to related views. Part of development package FINS_FIS_API.

Data Sources (2)

SourceAliasJoin Type
I_WBSElementStructure I_WBSElementStructure union_all
R_FinWBSElementHierarchyNode R_FinWBSElementHierarchyNode from

Associations (6)

CardinalityTargetAliasCondition
[0..1] I_WBSElementBasicData _WBSElementBasicData R_FinWBSElementHierarchyNode.WBSElement = _WBSElementBasicData.WBSElement
[1..1] I_FinWBSElementHierarchy _Hierarchy $projection.WBSElementHierarchy = _Hierarchy.WBSElementHierarchy and $projection.ValidityEndDate = _Hierarchy.ValidityEndDate
[0..*] I_FinWBSElementHierarchyNodeT _Text $projection.WBSElementHierarchy = _Text.WBSElementHierarchy and $projection.HierarchyNode = _Text.HierarchyNode and $projection.WBSElementExternalID = ''
[0..1] I_WBSElementByExternalID _WBSElementByExternalID $projection.WBSElementExternalID = _WBSElementByExternalID.WBSElementExternalID
[0..1] I_WBSElementBasicData _WBSElement I_WBSElementStructure.WBSElementInternalID = _WBSElement.WBSElementInternalID
[0..1] I_WBSElementBasicData _Parent I_WBSElementStructure.WBSElementParentInternalID = _Parent.WBSElementInternalID

Annotations (14)

NameValueLevelField
EndUserText.label Fin WBS Element Hierarchy Node view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #MANDATORY view
ObjectModel.dataCategory #HIERARCHY view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MASTER view
Analytics.technicalName IFIWBSELEMENTHN view
Analytics.dataExtraction.enabled true view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.modelingPattern #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE view
AccessControl.personalData.blocking #NOT_REQUIRED view
ObjectModel.sapObjectNodeType.name FinWBSElementHierarchyNode view

Fields (28)

KeyFieldSource TableSource FieldDescription
KEY WBSElementHierarchy R_FinWBSElementHierarchyNode WBSElementHierarchy
KEY HierarchyNode R_FinWBSElementHierarchyNode HierarchyNode
KEY ValidityEndDate R_FinWBSElementHierarchyNode ValidityEndDate
ParentNode R_FinWBSElementHierarchyNode ParentNode
HierarchyVersion R_FinWBSElementHierarchyNode HierarchyVersion
ValidityStartDate R_FinWBSElementHierarchyNode ValidityStartDate
WBSElementExternalID R_FinWBSElementHierarchyNode WBSElementExternalID
WBSElement R_FinWBSElementHierarchyNode WBSElement
ParentWBSElementExternalID R_FinWBSElementHierarchyNode ParentWBSElementExternalID
NodeType R_FinWBSElementHierarchyNode NodeType
HierarchyNodeSequence R_FinWBSElementHierarchyNode HierarchyNodeSequence
HierarchyNodeLevel R_FinWBSElementHierarchyNode HierarchyNodeLevel
_Hierarchy _Hierarchy
_WBSElementByExternalID _WBSElementByExternalID
KEY HierarchyNode _WBSElement WBSElement
KEY ValidityEndDate
ParentNode _Parent WBSElement
HierarchyVersion
ValidityStartDate
WBSElementExternalID
WBSElement _WBSElement WBSElement
ParentWBSElementExternalID
NodeType
HierarchyNodeSequence
HierarchyNodeLevel
_Hierarchy _Hierarchy
_WBSElementByExternalID _WBSElementByExternalID
_Text _Text
@EndUserText.label: 'Fin WBS Element Hierarchy Node'
@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@AccessControl.authorizationCheck: #MANDATORY
@ObjectModel: { dataCategory: #HIERARCHY }
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MASTER
//hierarchy Annotation

//@ObjectModel.representativeKey: 'HierarchyNode'

@Analytics.technicalName: 'IFIWBSELEMENTHN'
@Analytics: { dataExtraction.enabled: true }
@Hierarchy.parentChild:
[{ recurse:          {   parent: ['ParentNode'],   child:  ['HierarchyNode']  },
  siblingsOrder:    [{   by: 'HierarchyNodeSequence',    direction: #ASC   }],
  directory:        '_Hierarchy'
  }]
@Metadata.ignorePropagatedAnnotations: true
//@Analytics.dataExtraction: {enabled:true}

@ObjectModel.modelingPattern: #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE
@ObjectModel.supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE, #EXTRACTION_DATA_SOURCE ]
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel.sapObjectNodeType.name:'FinWBSElementHierarchyNode'

define view entity I_FinWBSElementHierarchyNode
  as select from R_FinWBSElementHierarchyNode
  association [0..1] to I_WBSElementBasicData         as _WBSElementBasicData    on  R_FinWBSElementHierarchyNode.WBSElement = _WBSElementBasicData.WBSElement
  association [1..1] to I_FinWBSElementHierarchy      as _Hierarchy              on  $projection.WBSElementHierarchy = _Hierarchy.WBSElementHierarchy
                                                                                 and $projection.ValidityEndDate     = _Hierarchy.ValidityEndDate
  association [0..*] to I_FinWBSElementHierarchyNodeT as _Text                   on  $projection.WBSElementHierarchy  = _Text.WBSElementHierarchy
                                                                                 and $projection.HierarchyNode        = _Text.HierarchyNode
                                                                                 and $projection.WBSElementExternalID = ''

  association [0..1] to I_WBSElementByExternalID      as _WBSElementByExternalID on  $projection.WBSElementExternalID = _WBSElementByExternalID.WBSElementExternalID


{
      @Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
      @ObjectModel.foreignKey.association: '_Hierarchy'
  key R_FinWBSElementHierarchyNode.WBSElementHierarchy,
      @ObjectModel.text.association: '_Text'
  key R_FinWBSElementHierarchyNode.HierarchyNode              as HierarchyNode,
      @Semantics.businessDate.to: true
  key R_FinWBSElementHierarchyNode.ValidityEndDate            as ValidityEndDate,
      R_FinWBSElementHierarchyNode.ParentNode                 as ParentNode,
      R_FinWBSElementHierarchyNode.HierarchyVersion           as HierarchyVersion,
      @Semantics.businessDate.from: true
      R_FinWBSElementHierarchyNode.ValidityStartDate          as ValidityStartDate,
      @ObjectModel.foreignKey.association: '_WBSElementByExternalID'
      R_FinWBSElementHierarchyNode.WBSElementExternalID       as WBSElementExternalID,
      R_FinWBSElementHierarchyNode.WBSElement                 as WBSElement,
      R_FinWBSElementHierarchyNode.ParentWBSElementExternalID as ParentWBSElementExternalID,
      R_FinWBSElementHierarchyNode.NodeType                   as NodeType,
      R_FinWBSElementHierarchyNode.HierarchyNodeSequence      as HierarchyNodeSequence,
      R_FinWBSElementHierarchyNode.HierarchyNodeLevel         as HierarchyNodeLevel,
      _Hierarchy,
      _WBSElementByExternalID,
      _Text
}

union all

select from I_WBSElementStructure
association [0..1] to I_WBSElementBasicData         as _WBSElement             on  I_WBSElementStructure.WBSElementInternalID = _WBSElement.WBSElementInternalID
association [0..1] to I_WBSElementBasicData         as _Parent                 on  I_WBSElementStructure.WBSElementParentInternalID = _Parent.WBSElementInternalID
association [1..1] to I_FinWBSElementHierarchy      as _Hierarchy              on  $projection.WBSElementHierarchy = _Hierarchy.WBSElementHierarchy
                                                                               and $projection.ValidityEndDate     = _Hierarchy.ValidityEndDate
association [0..*] to I_FinWBSElementHierarchyNodeT as _Text                   on  $projection.WBSElementHierarchy  = _Text.WBSElementHierarchy
                                                                               and $projection.HierarchyNode        = _Text.HierarchyNode
                                                                               and $projection.WBSElementExternalID = ''
association [0..1] to I_WBSElementByExternalID      as _WBSElementByExternalID on  $projection.WBSElementExternalID = _WBSElementByExternalID.WBSElementExternalID


{
  key cast('WBSELEMENTHIERARCHY                       ' as hryid preserving type)                 as WBSElementHierarchy,
  key _WBSElement.WBSElement                                                                      as HierarchyNode,
  key cast('99991231' as fis_datbi )                                                              as ValidityEndDate,
      _Parent.WBSElement                                                                          as ParentNode,
      '000000000000001'                                                                           as HierarchyVersion,
      cast('19000101' as fis_datab )                                                              as ValidityStartDate,
      cast(coalesce(_WBSElement.WBSElementExternalID, '') as fis_wbsext_no_conv preserving type ) as WBSElementExternalID,
      _WBSElement.WBSElement                                                                      as WBSElement,
      cast(_Parent.WBSElementExternalID  as fis_parent_wbsext_no_conv preserving type)            as ParentWBSElementExternalID,
      'L'                                                                                         as NodeType,
      cast ('000000' as hryseqnbr preserving type )                                               as HierarchyNodeSequence,
      cast ('000000' as hrylevel preserving type )                                                as HierarchyNodeLevel,
      _Hierarchy,
      _WBSElementByExternalID,
      _Text
}
where
  I_WBSElementStructure.WBSElementParentInternalID is not null