I_GLAccountHierarchyNode

DDL: I_GLACCOUNTHIERARCHYNODE SQL: IFIGLACCOUNTHN Type: view BASIC

G/L Account Hierarchy Node

I_GLAccountHierarchyNode is a Basic CDS View that provides data about "G/L Account Hierarchy Node" in SAP S/4HANA. It reads from 1 data source (hrrp_node_n) and exposes 18 fields with key fields GLAccountHierarchy, HierarchyNode, ValidityEndDate. It has 4 associations to related views.

Data Sources (1)

SourceAliasJoin Type
hrrp_node_n hrrp_node_n from

Associations (4)

CardinalityTargetAliasCondition
[0..*] I_GLAccountHierarchyNodeT _Text $projection.GLAccountHierarchy = _Text.GLAccountHierarchy and $projection.HierarchyNode = _Text.HierarchyNode and $projection.GLAccount = ''
[0..1] I_GLAccountInChartOfAccounts _GLAccountInChartOfAccounts $projection.ChartOfAccounts = _GLAccountInChartOfAccounts.ChartOfAccounts and $projection.GLAccount = _GLAccountInChartOfAccounts.GLAccount
[0..1] I_GLAccountHierarchy _Hierarchy $projection.GLAccountHierarchy = _Hierarchy.GLAccountHierarchy and $projection.ValidityEndDate = _Hierarchy.ValidityEndDate
[0..1] I_ChartOfAccounts _ChartOfAccounts $projection.ChartOfAccounts = _ChartOfAccounts.ChartOfAccounts

Annotations (14)

NameValueLevelField
EndUserText.label G/L Account Hierarchy Node view
ObjectModel.dataCategory #HIERARCHY view
VDM.viewType #BASIC view
AbapCatalog.sqlViewName IFIGLACCOUNTHN view
ObjectModel.representativeKey HierarchyNode view
Analytics.dataExtraction.enabled true view
AccessControl.authorizationCheck #CHECK view
AbapCatalog.buffering.status #NOT_ALLOWED view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #A view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.ignorePropagatedAnnotations true view
Consumption.filter.businessDate.at true view

Fields (18)

KeyFieldSource TableSource FieldDescription
KEY GLAccountHierarchy
KEY HierarchyNode hrrp_node_n hrynode
KEY ValidityEndDate
ParentNode hrrp_node_n parnode
HierarchyVersion
ValidityStartDate
ChartOfAccounts hrrp_node_n ktopl
GLAccount
SequenceNumber
HierarchyNodeSequence hrrp_node_n hryseqnbr
HierarchyNodeLevel hrrp_node_n hrylevel
NodeType hrrp_node_n nodetype
SignIsInverted
HierarchyNodeVal hrrp_node_n nodevalue
_Text _Text
_GLAccountInChartOfAccounts _GLAccountInChartOfAccounts
_Hierarchy _Hierarchy
_ChartOfAccounts _ChartOfAccounts
@EndUserText.label: 'G/L Account Hierarchy Node'
@ObjectModel: { dataCategory: #HIERARCHY }
@VDM.viewType: #BASIC
@AbapCatalog.sqlViewName: 'IFIGLACCOUNTHN'
@ObjectModel.representativeKey: 'HierarchyNode'
@Hierarchy.parentChild:
[{
  recurse:
    {
        parent: ['ParentNode'],
        child:  ['HierarchyNode']
     },
  siblingsOrder:
    [{
        by: 'HierarchyNodeSequence',
        direction: 'ASC'
    }],
   directory: '_Hierarchy'
  }]

@Analytics.dataExtraction: {enabled:true}

//@AccessControl.authorizationCheck: #NOT_ALLOWED

@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.buffering.status: #NOT_ALLOWED
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass:  #MASTER
@ObjectModel.usageType.serviceQuality: #A
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations: true
@Consumption.filter.businessDate.at: true
@ObjectModel.supportedCapabilities:[#CDS_MODELING_DATA_SOURCE,#EXTRACTION_DATA_SOURCE]
define view I_GLAccountHierarchyNode
  as select from hrrp_node_n
  association [0..*] to I_GLAccountHierarchyNodeT    as _Text                       on  $projection.GLAccountHierarchy = _Text.GLAccountHierarchy
                                                                                    and $projection.HierarchyNode      = _Text.HierarchyNode
                                                                                    and $projection.GLAccount          = '' // just to show that this association is only to be followed if GLAcount is blank


  association [0..1] to I_GLAccountInChartOfAccounts as _GLAccountInChartOfAccounts on  $projection.ChartOfAccounts = _GLAccountInChartOfAccounts.ChartOfAccounts
                                                                                    and $projection.GLAccount       = _GLAccountInChartOfAccounts.GLAccount

  association [0..1] to I_GLAccountHierarchy         as _Hierarchy                  on  $projection.GLAccountHierarchy = _Hierarchy.GLAccountHierarchy
                                                                                    and $projection.ValidityEndDate    = _Hierarchy.ValidityEndDate // Hierarchy directory and hierarchy nodes have the same time slice


  association [0..1] to I_ChartOfAccounts            as _ChartOfAccounts            on  $projection.ChartOfAccounts = _ChartOfAccounts.ChartOfAccounts

{

      @Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
      @ObjectModel.foreignKey.association: '_Hierarchy'
  key cast ( hrrp_node_n.hryid_42 as fis_glaccthier preserving type ) as GLAccountHierarchy,
      @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,
      hrrp_node_n.parnode                                             as ParentNode,
      @VDM.lifecycle.status:    #DEPRECATED
      cast( '000000000000001' as hryversn )                           as HierarchyVersion,
      @Semantics.businessDate.from: true
      cast(hrrp_node_n.hryvalfrom as fis_datab preserving type )      as ValidityStartDate,
      @ObjectModel.foreignKey.association: '_ChartOfAccounts'
      hrrp_node_n.ktopl                                               as ChartOfAccounts,
      @ObjectModel.foreignKey.association: '_GLAccountInChartOfAccounts'
      cast(hrrp_node_n.saknr as fis_saknr preserving type )           as GLAccount,

      @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,
      @Semantics.signReversalIndicator: true
      cast(hrrp_node_n.sign   as hryattrvalue )                       as SignIsInverted,
      hrrp_node_n.nodevalue                                           as HierarchyNodeVal,
      _Text,
      _GLAccountInChartOfAccounts,
      _Hierarchy,
      _ChartOfAccounts

}
where
          hrrp_node_n.hrytyp   =  'FSVN'
  and     hrrp_node_n.balind   <> 'H'
  and(
          hrrp_node_n.nodetype =  'R'
    or    hrrp_node_n.nodetype =  'N'
    or    hrrp_node_n.nodetype =  'O'
    or(
          hrrp_node_n.nodetype =  'L'
      and hrrp_node_n.nodecls  <> ''
    )
  )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"HRRP_NODE_N"
],
"ASSOCIATED":
[
"I_CHARTOFACCOUNTS",
"I_GLACCOUNTHIERARCHY",
"I_GLACCOUNTHIERARCHYNODET",
"I_GLACCOUNTINCHARTOFACCOUNTS"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/