I_FundedProgramHierarchyNode

DDL: I_FUNDEDPROGRAMHIERARCHYNODE SQL: IFUNDEDPHN Type: view BASIC Package: PSM_S4C_BASIS

Funded Program Hierarchy Node

I_FundedProgramHierarchyNode is a Basic CDS View that provides data about "Funded Program Hierarchy Node" in SAP S/4HANA. It reads from 1 data source (hrrp_node) and exposes 15 fields with key fields FinancialManagementArea, FundedProgramHierarchy, HierarchyNode, ValidityEndDate. It has 5 associations to related views. Part of development package PSM_S4C_BASIS.

Data Sources (1)

SourceAliasJoin Type
hrrp_node hrrp_node from

Associations (5)

CardinalityTargetAliasCondition
[1..*] I_FinancialManagementAreaText _FinancialManagementAreaText $projection.FinancialManagementArea = _FinancialManagementAreaText.FinancialManagementArea
[0..*] I_FundedProgramHierarchyNodeT _Text $projection.FundedProgramHierarchy = _Text.FundedProgramHierarchy and $projection.HierarchyNode = _Text.HierarchyNode and $projection.FinancialManagementArea = _Text.FinancialManagementArea
[0..1] I_FundedProgram _FundedProgram $projection.FundedProgram = _FundedProgram.FundedProgram and $projection.FinancialManagementArea = _FundedProgram.FinancialManagementArea
[1..1] I_FundedProgramHierarchy _Hierarchy $projection.FundedProgramHierarchy = _Hierarchy.FundedProgramHierarchy and $projection.FinancialManagementArea = _Hierarchy.FinancialManagementArea and $projection.ValidityEndDate = _Hierarchy.ValidityEndDate
[1..1] I_FinancialManagementArea _FinMgmtArea $projection.FinancialManagementArea = _FinMgmtArea.FinancialManagementArea

Annotations (16)

NameValueLevelField
EndUserText.label Funded Program Hierarchy Node view
VDM.viewType #BASIC view
AbapCatalog.sqlViewName IFUNDEDPHN view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.dataCategory #HIERARCHY view
ObjectModel.representativeKey HierarchyNode view
Metadata.ignorePropagatedAnnotations true view
Analytics.dataExtraction.enabled true view
ObjectModel.modelingPattern #ANALYTICAL_DIMENSION view
ObjectModel.sapObjectNodeType.name FundedProgram view

Fields (15)

KeyFieldSource TableSource FieldDescription
KEY FinancialManagementArea
KEY FundedProgramHierarchy
KEY HierarchyNode hrrp_node hrynode
KEY ValidityEndDate
ParentNode hrrp_node parnode
HierarchyVersion hrrp_node hryver
ValidityStartDate
HierarchyNodeSequence hrrp_node hryseqnbr
HierarchyNodeLevel hrrp_node hrylevel
NodeType hrrp_node nodetype
_Text _Text
_FundedProgram _FundedProgram
_Hierarchy _Hierarchy
_FinMgmtArea _FinMgmtArea
_FinancialManagementAreaText _FinancialManagementAreaText
@EndUserText.label: 'Funded Program Hierarchy Node'
@VDM.viewType: #BASIC
@AbapCatalog.sqlViewName: 'IFUNDEDPHN'
@AbapCatalog.preserveKey:true
@AbapCatalog.compiler.compareFilter:true
@hierarchy.parentChild:[
{ recurse:          {   parent: 'ParentNode',   child:  'HierarchyNode'   },
  siblingsOrder:    {   by: 'HierarchyNodeSequence',    direction: 'ASC'   },
  directory:        '_Hierarchy'
  }]
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {usageType: {
  dataClass: #MASTER,
  serviceQuality: #A,
  sizeCategory: #XL},
  dataCategory: #HIERARCHY
}
@ObjectModel.representativeKey: 'HierarchyNode'
@Metadata.ignorePropagatedAnnotations:true 
@Analytics: { dataExtraction: {enabled:true} }
@ObjectModel.supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_DIMENSION, #EXTRACTION_DATA_SOURCE ]
@ObjectModel.modelingPattern: #ANALYTICAL_DIMENSION
@AccessControl.privilegedAssociations: ['_FinancialManagementAreaText']
@ObjectModel.sapObjectNodeType.name: 'FundedProgram'

define view I_FundedProgramHierarchyNode
  as select from hrrp_node

  association [1..*] to I_FinancialManagementAreaText as _FinancialManagementAreaText on  $projection.FinancialManagementArea = _FinancialManagementAreaText.FinancialManagementArea

  association [0..*] to I_FundedProgramHierarchyNodeT as _Text                        on  $projection.FundedProgramHierarchy  = _Text.FundedProgramHierarchy
                                                                                      and $projection.HierarchyNode           = _Text.HierarchyNode
                                                                                      and $projection.FinancialManagementArea = _Text.FinancialManagementArea
//                                                                                      and $projection.FundedProgram           = '' // just to show that this association is only to be followed if funds center is blank


  association [0..1] to I_FundedProgram               as _FundedProgram               on  $projection.FundedProgram           = _FundedProgram.FundedProgram
                                                                                      and $projection.FinancialManagementArea = _FundedProgram.FinancialManagementArea

  association [1..1] to I_FundedProgramHierarchy      as _Hierarchy                   on  $projection.FundedProgramHierarchy  = _Hierarchy.FundedProgramHierarchy
                                                                                      and $projection.FinancialManagementArea = _Hierarchy.FinancialManagementArea
                                                                                      and $projection.ValidityEndDate         = _Hierarchy.ValidityEndDate

  association [1..1] to I_FinancialManagementArea     as _FinMgmtArea                 on  $projection.FinancialManagementArea = _FinMgmtArea.FinancialManagementArea

{
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_FinMgmtAreaStdVH',
                     element: 'FinancialManagementArea' } }]
      @Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
      @ObjectModel.foreignKey.association: '_FinMgmtArea'
  key cast(hrrp_node.nodecls as fikrs )                                       as FinancialManagementArea,
      @Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
      @ObjectModel.foreignKey.association: '_Hierarchy'
  key cast(hrrp_node.hryid as fmis_hryid_fundedprogram)                       as FundedProgramHierarchy,
      @ObjectModel.text.association: '_Text'
  key hrrp_node.hrynode                                                       as HierarchyNode,
      @Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
      @Semantics.businessDate.to: true
  key cast(hrrp_node.hryvalto as fmis_fp_validityenddate preserving type )    as ValidityEndDate,
      hrrp_node.parnode                                                       as ParentNode,
      hrrp_node.hryver                                                        as HierarchyVersion,
      @Semantics.businessDate.from: true
      cast(hrrp_node.hryvalfrom as fmis_fp_validitystartdate preserving type) as ValidityStartDate,

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_FundedProgramStdVH',
                     element: 'FundedProgram' },
          additionalBinding: [{ localElement: 'FinancialManagementArea',
                                element: 'FinancialManagementArea' }]
        }]

      @ObjectModel.foreignKey.association: '_FundedProgram'
      @Consumption.filter.businessDate.at:true
      cast ( case nodetype
        when 'L' then  hrrp_node.nodevalue
        else  ''
      end as fm_measure )                                                     as FundedProgram,
      hrrp_node.hryseqnbr                                                     as HierarchyNodeSequence,
      hrrp_node.hrylevel                                                      as HierarchyNodeLevel,
      hrrp_node.nodetype                                                      as NodeType,

      _Text,
      _FundedProgram,
      _Hierarchy,
      _FinMgmtArea,
      @Consumption.hidden: true
      _FinancialManagementAreaText


}
where
      nodetype          <> 'D'
  and hrrp_node.hrytype =  '0315';