I_OrderHierarchyNode
Order Hierarchy Node
I_OrderHierarchyNode is a Basic CDS View that provides data about "Order Hierarchy Node" in SAP S/4HANA. It reads from 1 data source (hrrp_node_n) and exposes 14 fields with key fields OrderHierarchy, HierarchyNode, ValidityEndDate. It has 3 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| hrrp_node_n | hrrp_node_n | from |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_OrderHierarchyNodeText | _Text | $projection.OrderHierarchy = _Text.OrderHierarchy and $projection.HierarchyNode = _Text.HierarchyNode and $projection.OrderID = '' |
| [0..1] | I_Order | _Order | $projection.OrderID = _Order.OrderID |
| [1..1] | I_OrderHierarchy | _Hierarchy | $projection.OrderHierarchy = _Hierarchy.OrderHierarchy and $projection.ValidityEndDate = _Hierarchy.ValidityEndDate |
Annotations (19)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IFIORDERHN | view | |
| AbapCatalog.preserveKey | true | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Order Hierarchy Node | view | |
| VDM.viewType | #BASIC | 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 | |
| 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 | |
| ObjectModel.modelingPattern | #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE | view | |
| ObjectModel.supportedCapabilities | #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE | view |
Fields (14)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | OrderHierarchy | |||
| KEY | HierarchyNode | hrrp_node_n | hrynode | |
| KEY | ValidityEndDate | |||
| ValidityStartDate | ||||
| ParentNode | hrrp_node_n | parnode | ||
| HierarchyVersion | ||||
| OrderID | hrrp_node_n | aufnr | ||
| HierarchyNodeSequence | hrrp_node_n | hryseqnbr | ||
| HierarchyNodeLevel | hrrp_node_n | hrylevel | ||
| NodeType | hrrp_node_n | nodetype | ||
| HierarchyNodeVal | hrrp_node_n | nodevalue | ||
| _Text | _Text | |||
| _Order | _Order | |||
| _Hierarchy | _Hierarchy |
@AbapCatalog.sqlViewName: 'IFIORDERHN'
@AbapCatalog.preserveKey:true
@AbapCatalog.compiler.compareFilter:true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Order Hierarchy Node'
@VDM.viewType: #BASIC
@Hierarchy.parentChild:
{ recurse: { parent: 'ParentNode', child: 'HierarchyNode' },
siblingsOrder: { by: 'HierarchyNodeSequence', direction: 'ASC' },
directory: '_Hierarchy'
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {usageType: {
dataClass: #MASTER,
serviceQuality: #A,
sizeCategory: #XL},
dataCategory: #HIERARCHY
}
//@Analytics.dataExtraction.enabled: true
@ObjectModel.representativeKey: 'HierarchyNode'
@ObjectModel.modelingPattern: #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE
@ObjectModel.supportedCapabilities: #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE
define view I_OrderHierarchyNode
as select from hrrp_node_n
association [0..*] to I_OrderHierarchyNodeText as _Text on $projection.OrderHierarchy = _Text.OrderHierarchy
and $projection.HierarchyNode = _Text.HierarchyNode
and $projection.OrderID = '' // just to show that this association is only to be followed if Order is blank
association [0..1] to I_Order as _Order on $projection.OrderID = _Order.OrderID
association [1..1] to I_OrderHierarchy as _Hierarchy on $projection.OrderHierarchy = _Hierarchy.OrderHierarchy
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_iorder preserving type ) as OrderHierarchy,
@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: '_Order'
hrrp_node_n.aufnr as OrderID,
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,
_Order,
_Hierarchy
}
where
hrrp_node_n.nodetype <> 'D'
and hrrp_node_n.hrytyp = '0103';
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"HRRP_NODE_N"
],
"ASSOCIATED":
[
"I_ORDER",
"I_ORDERHIERARCHY",
"I_ORDERHIERARCHYNODETEXT"
],
"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