I_GLAccountHierarchyNode
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. Part of development package FINS_GL_ACCOUNT_HIER.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| hrrp_node_n | hrrp_node_n | from |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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 (15)
| Name | Value | Level | Field |
|---|---|---|---|
| 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 | |
| ObjectModel.sapObjectNodeType.name | GLAccountHierarchyNode | view |
Fields (18)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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]
@ObjectModel.sapObjectNodeType.name:'GLAccountHierarchyNode'
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 <> ''
)
)
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA