P_hrrp_node

DDL: P_HRRP_NODE SQL: PHRRPNODE Type: view BASIC

P_hrrp_node is a Basic CDS View in SAP S/4HANA. It reads from 1 data source (hrrp_node) and exposes 17 fields with key fields hryid, hryver, nodecls, hrynode, parnode.

Data Sources (1)

SourceAliasJoin Type
hrrp_node node from

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName PHRRPNODE view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
AccessControl.personalData.blocking #REQUIRED view
VDM.private true view
VDM.viewType #BASIC view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #S view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (17)

KeyFieldSource TableSource FieldDescription
KEY hryid hrrp_node hryid
KEY hryver hrrp_node hryver
KEY nodecls hrrp_node nodecls
KEY hrynode hrrp_node hrynode
KEY parnode hrrp_node parnode
KEY hryvalto hrrp_node hryvalto
hryvalfrom hrrp_node hryvalfrom
UniversalHierParentNodeID pnode uhnodeid
UniversalHierHierarchyID dtvrsn hier_hid
UniversalHierVersStatus dtvrsn ver_status
UniversalHierarchyVersionID dtvrsn ver_id
balind hrrp_node balind
UniversalHierNodeType hrrp_node nodetype
UniversalHierNodeValue hrrp_node nodevalue
hryseqnbr hrrp_node hryseqnbr
UniversalHierNodeLevel hrrp_node hrylevel
node_id hrrp_node uhnodeid
@AbapCatalog.sqlViewName: 'PHRRPNODE'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
//@AbapCatalog.buffering.status: #NOT_ALLOWED


@AccessControl.authorizationCheck: #NOT_REQUIRED
@AccessControl.personalData.blocking: #REQUIRED

@VDM.private: true
@VDM.viewType: #BASIC


@ObjectModel.usageType: {
  dataClass: #MASTER,
  serviceQuality: #B,
  sizeCategory: #S
}

@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_hrrp_node
  as select from hrrp_node       as node
  // determine version UUID

    join         P_HRRP_ATTR_DIR as avrsn  on  avrsn.HRYID       = node.hryid
                                           and avrsn.HRYVER      = node.hryver
                                           and avrsn.HRYATTRNAME = 'UH_VERSION_ID'
                                           and avrsn.HRYVALTO    = node.hryvalto
  // determine Hierarchy information

    join         uhdt_vrsn       as dtvrsn on dtvrsn.ver_id = avrsn.HRYATTRVALUE
  // determine parent node UUID

    join         hrrp_node       as pnode  on  pnode.hryid    = node.hryid
                                           and pnode.hryver   = node.hryver
                                           and pnode.nodecls  = node.nodecls
                                           and pnode.hrynode  = node.parnode
                                           and pnode.hryvalto = node.hryvalto
{
  key node.hryid,
  key node.hryver,
  key node.nodecls,
  key node.hrynode,
  key node.parnode,
  key node.hryvalto,
      node.hryvalfrom,
      pnode.uhnodeid    as UniversalHierParentNodeID,
      dtvrsn.hier_hid   as UniversalHierHierarchyID,
      dtvrsn.ver_status as UniversalHierVersStatus,
      //      dtvrsn.UniversalHierHierarchyType  as UniversalHierHierarchyType,

      dtvrsn.ver_id     as UniversalHierarchyVersionID,
      case when (node.hryid like '%_DRAFT')
           then ''
           else 'X'
        end             as isVersionActive,
      node.balind,
      node.nodetype     as UniversalHierNodeType,
      node.nodevalue    as UniversalHierNodeValue,
      node.hryseqnbr,
      node.hrylevel     as UniversalHierNodeLevel,
      node.uhnodeid     as node_id // UHDT_NODE ID (UUID)

}
where
  (
       node.nodetype = 'R'
    or node.nodetype = 'N'
    or node.nodetype = 'L'
  )