I_FunctionalAreaHierNode

DDL: I_FUNCTIONALAREAHIERNODE SQL: IFIFNCAREAHN Type: view BASIC Package: FINS_FUNCTIONAL_AREA_VDM

Functional Area Hierarchy Node

I_FunctionalAreaHierNode is a Basic CDS View that provides data about "Functional Area Hierarchy Node" in SAP S/4HANA. It reads from 1 data source (hrrp_node_n) and exposes 15 fields with key fields FunctionalAreaHierarchy, HierarchyNode, ValidityEndDate. It has 3 associations to related views. Part of development package FINS_FUNCTIONAL_AREA_VDM.

Data Sources (1)

SourceAliasJoin Type
hrrp_node_n hrrp_node_n from

Associations (3)

CardinalityTargetAliasCondition
[0..*] I_FunctionalAreaHierNodeT _Text $projection.FunctionalAreaHierarchy = _Text.FunctionalAreaHierarchy and $projection.HierarchyNode = _Text.HierarchyNode and $projection.FunctionalArea = ''
[0..1] I_FunctionalArea _FunctionalArea $projection.FunctionalArea = _FunctionalArea.FunctionalArea
[1..1] I_FunctionalAreaHierarchy _Hierarchy $projection.FunctionalAreaHierarchy = _Hierarchy.FunctionalAreaHierarchy and $projection.ValidityEndDate = _Hierarchy.ValidityEndDate

Annotations (20)

NameValueLevelField
EndUserText.label Functional Area Hierarchy Node view
VDM.viewType #BASIC view
AbapCatalog.sqlViewName IFIFNCAREAHN view
Hierarchy.parentChild.recurse.parent ParentNode view
Hierarchy.parentChild.recurse.child HierarchyNode view
Hierarchy.parentChild.siblingsOrder.by HierarchyNodeSequence view
Hierarchy.parentChild.siblingsOrder.direction ASC view
Hierarchy.parentChild.directory _Hierarchy view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.dataCategory #HIERARCHY view
ObjectModel.modelingPattern #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE view
Metadata.ignorePropagatedAnnotations true view
Analytics.dataExtraction.enabled true view
ObjectModel.sapObjectNodeType.name FunctionalAreaHierarchyNode view

Fields (15)

KeyFieldSource TableSource FieldDescription
KEY FunctionalAreaHierarchy
KEY HierarchyNode hrrp_node_n hrynode
KEY ValidityEndDate
ValidityStartDate
ParentNode hrrp_node_n parnode
HierarchyVersion
FunctionalArea hrrp_node_n fkber
SequenceNumber
HierarchyNodeSequence hrrp_node_n hryseqnbr
HierarchyNodeLevel hrrp_node_n hrylevel
NodeType hrrp_node_n nodetype
HierarchyNodeVal hrrp_node_n nodevalue
_Text _Text
_FunctionalArea _FunctionalArea
_Hierarchy _Hierarchy
@EndUserText.label: 'Functional Area Hierarchy Node'
@VDM.viewType: #BASIC
@AbapCatalog.sqlViewName: 'IFIFNCAREAHN'
@Hierarchy.parentChild:
{ recurse:          {   parent: 'ParentNode',   child:  'HierarchyNode'   },
  siblingsOrder:    {   by: 'HierarchyNodeSequence',    direction: 'ASC'   },
  directory:        '_Hierarchy'
  }
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.supportedCapabilities: [#CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET,#ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE, #EXTRACTION_DATA_SOURCE]
@AbapCatalog.compiler.compareFilter:true
@AbapCatalog.preserveKey:true
@ObjectModel: {usageType: {
  dataClass: #MASTER,
  serviceQuality: #A,
  sizeCategory: #XL},
  dataCategory: #HIERARCHY
}
@ObjectModel.modelingPattern: #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE
@Metadata.ignorePropagatedAnnotations:true
@Analytics.dataExtraction.enabled: true
@ObjectModel.sapObjectNodeType.name:'FunctionalAreaHierarchyNode'

define view I_FunctionalAreaHierNode
  as select from hrrp_node_n

  association [0..*] to I_FunctionalAreaHierNodeT as _Text           on  $projection.FunctionalAreaHierarchy = _Text.FunctionalAreaHierarchy
                                                                     and $projection.HierarchyNode           = _Text.HierarchyNode
                                                                     and $projection.FunctionalArea          = '' // just to show that this association is only to be followed if FunctionalArea is blank


  association [0..1] to I_FunctionalArea          as _FunctionalArea on  $projection.FunctionalArea = _FunctionalArea.FunctionalArea

  association [1..1] to I_FunctionalAreaHierarchy as _Hierarchy      on  $projection.FunctionalAreaHierarchy = _Hierarchy.FunctionalAreaHierarchy
                                                                     and $projection.ValidityEndDate         = _Hierarchy.ValidityEndDate


{
      @Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
      @ObjectModel.foreignKey.association: '_Hierarchy'
  key cast ( hrrp_node_n.hryid_42 as fis_hryid_functionalarea_42 preserving type ) as FunctionalAreaHierarchy,
      @ObjectModel.text.association: '_Text'
  key hrrp_node_n.hrynode                                                          as HierarchyNode,
      @Semantics.businessDate.to: true
      @Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
  key cast(hrrp_node_n.hryvalto as fis_datbi preserving type )                     as ValidityEndDate,
      @Semantics.businessDate.from: true
      cast(hrrp_node_n.hryvalfrom as fis_datab preserving type )                   as ValidityStartDate,
      hrrp_node_n.parnode                                                          as ParentNode,
      @VDM.lifecycle.status:    #DEPRECATED
      cast( '000000000000001' as hryversn )                                        as HierarchyVersion,
      @ObjectModel.foreignKey.association: '_FunctionalArea'
      hrrp_node_n.fkber                                                            as FunctionalArea,
      @VDM.lifecycle.status:    #DEPRECATED
      @VDM.lifecycle.successor: 'HierarchyNodeSequence'
      concat(hrrp_node_n.hryseqnbr, hrrp_node_n.hrynode)                           as SequenceNumber, // do not use any longer, use HierarchyNodeSequence

      hrrp_node_n.hryseqnbr                                                        as HierarchyNodeSequence,
      hrrp_node_n.hrylevel                                                         as HierarchyNodeLevel,
      hrrp_node_n.nodetype                                                         as NodeType,
      hrrp_node_n.nodevalue                                                        as HierarchyNodeVal,

      _Text,
      _FunctionalArea,
      _Hierarchy

}
where
      hrrp_node_n.nodetype <> 'D'
  and hrrp_node_n.hrytyp   =  '0112';