I_CnsldtnPostingLevelHierNode

DDL: I_CNSLDTNPOSTINGLEVELHIERNODE Type: view_entity BASIC Package: FIN_CS_MD_POSTINGLEVEL

Cnsldtn Posting Level Hierarchy Node

I_CnsldtnPostingLevelHierNode is a Basic CDS View that provides data about "Cnsldtn Posting Level Hierarchy Node" in SAP S/4HANA. It reads from 1 data source (P_CnsldtnUnivHierNode_3) and exposes 10 fields with key fields ConsolidationPostgLevelHier, HierarchyNode. It has 3 associations to related views. Part of development package FIN_CS_MD_POSTINGLEVEL.

Data Sources (1)

SourceAliasJoin Type
P_CnsldtnUnivHierNode_3 P_CnsldtnUnivHierNode_3 from

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_CnsldtnPostingLevelHierarchy _Hierarchy $projection.ConsolidationPostgLevelHier = _Hierarchy.ConsolidationPostgLevelHier
[0..1] I_CnsldtnPostingLevel _PostingLevel $projection.PostingLevel = _PostingLevel.PostingLevel
[0..*] I_CnsldtnPostingLevelHierNodeT _Text $projection.ConsolidationPostgLevelHier = _Text.ConsolidationPostgLevelHier and $projection.HierarchyNode = _Text.HierarchyNode and ( $projection.NodeType = 'R' or $projection.NodeType = 'N' )

Annotations (11)

NameValueLevelField
Analytics.technicalName ICSPOSTINGLEVELHIERNODE view
AccessControl.authorizationCheck #MANDATORY view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.dataCategory #HIERARCHY view
ObjectModel.representativeKey HierarchyNode view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
EndUserText.label Cnsldtn Posting Level Hierarchy Node view

Fields (10)

KeyFieldSource TableSource FieldDescription
KEY ConsolidationPostgLevelHier
KEY HierarchyNode _HierarchyNode HierarchyNode
ParentNode _HierarchyNode ParentNode
HierarchyVersion _HierarchyNode HierarchyVersion
HierarchyNodeSequence _HierarchyNode HierarchyNodeSequence
HierarchyNodeLevel _HierarchyNode HierarchyNodeLevel
NodeType _HierarchyNode NodeType
_Text _Text
_PostingLevel _PostingLevel
_Hierarchy _Hierarchy
@Analytics: {
//  dataExtraction.enabled: true,

  technicalName: 'ICSPOSTINGLEVELHIERNODE'
}
@Hierarchy.parentChild: [{
  recurse: {
    parent: ['ParentNode'],
    child:     ['HierarchyNode']
  },
  siblingsOrder: [{
    by: 'HierarchyNodeSequence',
    direction: #ASC
  }],
  directory: '_Hierarchy'
}]
@AccessControl:{
  authorizationCheck: #MANDATORY
}
@Metadata:{
  ignorePropagatedAnnotations: true
}
@ObjectModel: {
  usageType: {
    dataClass: #MASTER,
    serviceQuality: #B,
    sizeCategory: #M
  },
  dataCategory: #HIERARCHY,
  representativeKey: 'HierarchyNode'
//  modelingPattern: #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE,

//  supportedCapabilities: [#CDS_MODELING_DATA_SOURCE,

//                          #CDS_MODELING_ASSOCIATION_TARGET,

//                          #SQL_DATA_SOURCE,

//                          #EXTRACTION_DATA_SOURCE,

//                          #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE

//                          ],

//  sapObjectNodeType.name: 'CnsldtnPostingLevelHierNode'

}
@VDM:{
  viewType: #BASIC,
  lifecycle.contract.type: #PUBLIC_LOCAL_API
}

@EndUserText.label: 'Cnsldtn Posting Level Hierarchy Node'

/*+[hideWarning] { "IDS" : [ "KEY_CHECK", "CALCULATED_FIELD_CHECK" ]  } */
define view entity I_CnsldtnPostingLevelHierNode
  as select from P_CnsldtnUnivHierNode_3(P_HierarchyType : 'CS21', P_MasterDataType : 'PLEVL' ) as _HierarchyNode

  association [1..1] to I_CnsldtnPostingLevelHierarchy as _Hierarchy    on  $projection.ConsolidationPostgLevelHier = _Hierarchy.ConsolidationPostgLevelHier

  association [0..1] to I_CnsldtnPostingLevel          as _PostingLevel on  $projection.PostingLevel = _PostingLevel.PostingLevel

  association [0..*] to I_CnsldtnPostingLevelHierNodeT as _Text         on  $projection.ConsolidationPostgLevelHier = _Text.ConsolidationPostgLevelHier
                                                                        and $projection.HierarchyNode               = _Text.HierarchyNode
                                                                        // node type condition needed due to existence of posting level SPACE

                                                                        and (
                                                                           $projection.NodeType                     = 'R'
                                                                           or $projection.NodeType                  = 'N'
                                                                         ) 

{

         @Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
         @ObjectModel.foreignKey.association: '_Hierarchy'
  key    cast( _HierarchyNode.UniversalHierarchy as fincs_postinglevelhierarchy preserving type ) as ConsolidationPostgLevelHier,

         @ObjectModel.text.association: '_Text'
  key    _HierarchyNode.HierarchyNode                                                             as HierarchyNode,

         _HierarchyNode.ParentNode                                                                as ParentNode,

         _HierarchyNode.HierarchyVersion,

         @ObjectModel.foreignKey.association: '_PostingLevel'
         cast(
           case
             when _HierarchyNode.ConsolidationPostingLevel =  '#' then ''
             else _HierarchyNode.ConsolidationPostingLevel
           end as fc_plevl preserving type )                                                      as PostingLevel,


         _HierarchyNode.HierarchyNodeSequence,
         _HierarchyNode.HierarchyNodeLevel,
         _HierarchyNode.NodeType,

         // associations

         _Text,
         _PostingLevel,
         _Hierarchy
}