I_CnsldtnSubitemHierNode
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)
| Source | Alias | Join Type |
|---|---|---|
| hrrp_directory | _CnsldtnSubitemHierDir | inner |
| hrrp_node | _CnsldtnSubitemHierNode | from |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
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