I_CnsldtnSubitemHierNode

DDL: I_CNSLDTNSUBITEMHIERNODE Type: view BASIC

Consolidation Subitem - HierarchyNode

I_CnsldtnSubitemHierNode is a Basic CDS View that provides data about "Consolidation Subitem - HierarchyNode" in SAP S/4HANA. It reads from 2 data sources (hrrp_directory, hrrp_node) and exposes 13 fields with key fields ConsolidationSubitemHierarchy, HierarchyNode. It has 4 associations to related views.

Data Sources (2)

SourceAliasJoin Type
hrrp_directory _CnsldtnSubitemHierDir inner
hrrp_node _CnsldtnSubitemHierNode from

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_CnsldtnSubitemHierDir _Hierarchy $projection.ConsolidationSubitemHierarchy = _Hierarchy.ConsolidationSubitemHierarchy
[0..1] I_CnsldtnSubItemCategory _SubItemCategory $projection.SubItemCategory = _SubItemCategory.SubItemCategory
[0..*] I_CnsldtnSubitemHierNodeT _Text $projection.ConsolidationSubitemHierarchy = _Text.ConsolidationSubitemHierarchy and $projection.HierarchyNode = _Text.HierarchyNode and $projection.SubItem = ''
[0..1] I_CnsldtnSubItem _SubItem $projection.SubItemCategory = _SubItem.SubItemCategory and $projection.SubItem = _SubItem.SubItem

Annotations (16)

NameValueLevelField
AbapCatalog.sqlViewName ICCSUBITEMHN view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
Hierarchy.parentChild.recurse.parent ParentNode view
Hierarchy.parentChild.recurse.child HierarchyNode view
Hierarchy.parentChild.directory _Hierarchy view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.dataCategory #HIERARCHY view
ObjectModel.representativeKey HierarchyNode view
VDM.viewType #BASIC view
EndUserText.label Consolidation Subitem - HierarchyNode view

Fields (13)

KeyFieldSource TableSource FieldDescription
KEY ConsolidationSubitemHierarchy hrrp_node hryid
KEY HierarchyNode hrrp_node hrynode
ParentNode hrrp_node parnode
HierarchyVersion hrrp_node hryver
SubItemCategory
nodevalue10asfc_sitemelseendasSubItem
HierarchyNodeSequence hrrp_node hryseqnbr
HierarchyNodeLevel hrrp_node hrylevel
NodeType hrrp_node nodetype
_Text _Text
_SubItem _SubItem
_Hierarchy _Hierarchy
_SubItemCategory _SubItemCategory
@AbapCatalog:{
  sqlViewName: 'ICCSUBITEMHN',
  compiler.compareFilter: true,
  preserveKey: true
  }
@Hierarchy.parentChild: {
  recurse:          { parent:    'ParentNode',
                      child:     'HierarchyNode'   },
  siblingsOrder:    [{ by:       'HierarchyNodeSequence',
                      direction: #ASC   }],
//  orphanedNode:     { handling:  #IGNORE  },

  directory:        '_Hierarchy'
}
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata:{
  ignorePropagatedAnnotations: true
  }
@ObjectModel: {
  usageType: {
    dataClass: #MASTER,
    serviceQuality: #A,
    sizeCategory: #XL},
  dataCategory: #HIERARCHY,
  representativeKey: 'HierarchyNode'
}
@VDM.viewType: #BASIC
@EndUserText.label: 'Consolidation Subitem - HierarchyNode'

define view I_CnsldtnSubitemHierNode
  as select from hrrp_node      as _CnsldtnSubitemHierNode

    inner join   hrrp_directory as _CnsldtnSubitemHierDir on  _CnsldtnSubitemHierDir.hryid    = _CnsldtnSubitemHierNode.hryid
                                                          and _CnsldtnSubitemHierDir.hryver   = _CnsldtnSubitemHierNode.hryver
                                                          and _CnsldtnSubitemHierDir.hryvalto = _CnsldtnSubitemHierNode.hryvalto

  association [0..1] to I_CnsldtnSubitemHierDir   as _Hierarchy       on  $projection.ConsolidationSubitemHierarchy = _Hierarchy.ConsolidationSubitemHierarchy

  association [0..1] to I_CnsldtnSubItemCategory  as _SubItemCategory on  $projection.SubItemCategory = _SubItemCategory.SubItemCategory

  association [0..*] to I_CnsldtnSubitemHierNodeT as _Text            on  $projection.ConsolidationSubitemHierarchy = _Text.ConsolidationSubitemHierarchy
                                                                      and $projection.HierarchyNode                 = _Text.HierarchyNode
                                                                      and $projection.SubItem                       = ''

  association [0..1] to I_CnsldtnSubItem          as _SubItem         on  $projection.SubItemCategory = _SubItem.SubItemCategory
                                                                      and $projection.SubItem         = _SubItem.SubItem
{

      @Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
      @ObjectModel.foreignKey.association: '_Hierarchy'
  key _CnsldtnSubitemHierNode.hryid                               as ConsolidationSubitemHierarchy,

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

      _CnsldtnSubitemHierNode.parnode                             as ParentNode,

      _CnsldtnSubitemHierNode.hryver                              as HierarchyVersion,

      @ObjectModel.foreignKey.association: '_SubItemCategory'
      @Consumption.valueHelpDefinition: [{
        entity: {
          name: 'I_CnsldtnSubItemCategoryVH',
          element: 'SubItemCategory'
        }
      }]
      cast( left(_CnsldtnSubitemHierNode.nodecls, 3) as fc_sityp) as SubItemCategory,

      @ObjectModel.foreignKey.association: '_SubItem'
      @Consumption.valueHelpDefinition: [{
        entity: {
          name: 'I_CnsldtnSubItemVH',
          element: 'SubItem' }
//        TODO SubItemCategory shal be a key!

//        additionalBinding: [{ localElement: 'SubItemCategory',

//                              element: 'SubItemCategory' }]

      }]
      case _CnsldtnSubitemHierNode.nodetype
        when 'L' then  cast( left( _CnsldtnSubitemHierNode.nodevalue, 10 ) as fc_sitem )
        else  ''
      end                                                         as SubItem,

      _CnsldtnSubitemHierNode.hryseqnbr                           as HierarchyNodeSequence,
      _CnsldtnSubitemHierNode.hrylevel                            as HierarchyNodeLevel,
      _CnsldtnSubitemHierNode.nodetype                            as NodeType,


      _Text,
      _SubItem,
      _Hierarchy,
      _SubItemCategory

}
where
          _CnsldtnSubitemHierDir.hrytyp      = 'CS18'
  and(
          _CnsldtnSubitemHierNode.nodetype   = 'R'
    or    _CnsldtnSubitemHierNode.nodetype   = 'N'
    or    _CnsldtnSubitemHierNode.nodetype   = 'L'
  )
  and(
    (
          _CnsldtnSubitemHierNode.hryvalfrom = '19000101'
      and _CnsldtnSubitemHierNode.hryvalto   = '99991231'
    )
    or(
          _CnsldtnSubitemHierNode.hryvalfrom = '00000000'
      and _CnsldtnSubitemHierNode.hryvalto   = '00000000'
    )
  )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"HRRP_DIRECTORY",
"HRRP_NODE"
],
"ASSOCIATED":
[
"I_CNSLDTNSUBITEM",
"I_CNSLDTNSUBITEMCATEGORY",
"I_CNSLDTNSUBITEMHIERDIR",
"I_CNSLDTNSUBITEMHIERNODET"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/