I_OrderHierarchyNode

DDL: I_ORDERHIERARCHYNODE SQL: IFIORDERHN Type: view BASIC

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)

SourceAliasJoin Type
hrrp_node_n hrrp_node_n from

Associations (3)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/