fac_cds_uh_node

DDL: FAC_CDS_UH_NODE SQL: FACV_UH_EDGE Type: view Package: UH_CORE

Universal Hierarchy Node

fac_cds_uh_node is a CDS View that provides data about "Universal Hierarchy Node" in SAP S/4HANA. It reads from 3 data sources (uhdt_node, uhdt_ntxt, uhdt_vrsn) and exposes 39 fields with key field NodeId. It has 7 associations to related views. Part of development package UH_CORE.

Data Sources (3)

SourceAliasJoin Type
uhdt_node node from
uhdt_ntxt ntxt left_outer
uhdt_vrsn r left_outer

Associations (7)

CardinalityTargetAliasCondition
[1..*] fac_cds_uh_clfd_value to_clfd_value $projection.JoinId = to_clfd_value.ObjectId
[1..1] fac_cds_uh_version to_version $projection.VersionId = to_version.VersionId
[1..*] FAC_CDS_UH_NODESEMTAG to_semtag $projection.JoinId = to_semtag.NodeId
[1..1] FAC_CDS_UH_FUNCTBL_SEMTAG to_merged_semtag $projection.JoinId = to_merged_semtag.NodeId
[1..1] FAC_CDS_UH_FUNCTBL_MULTIATTR to_merged_attrvals $projection.JoinId = to_merged_attrvals.NodeId
[0..*] FAC_CDS_UH_NODE_ATTR_VALUE to_attribute_values $projection.JoinId = to_attribute_values.NodeId
[1..1] FAC_CDS_UH_NODE_ACTION to_node_action $projection.JoinId = to_node_action.NodeId

Annotations (6)

NameValueLevelField
AbapCatalog.sqlViewName FACV_UH_EDGE view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Universal Hierarchy Node view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #S view

Fields (39)

KeyFieldSource TableSource FieldDescription
KEY NodeId uhdt_node node_id
VersionId uhdt_node ver_id
NodeParentId node_pid
NodeRefId node_rid
JoinId uhdt_node node_id
NodeType node_type
NodeEntity node_entity
NodeLevel node_level
NodeIndicator node_ind
NodeSequence node_seq
NodeDisplayOrder node_order
NodeSign node_sgn
NodeValidFrom node_vldfm
NodeValidTo node_vldto
NodeLowValue node_lval
NodeHighValue node_hval
CreatedAt uhdt_node created_at
CreatedBy uhdt_node created_by
UpdatedAt uhdt_node updated_at
UpdatedBy uhdt_node updated_by
ReferenceVersionID ref_verid
ReferenceGroupID ref_t_group_id
OriginVersionID origin_verid
NodeLowText uhdt_ntxt lval_txt
NodeHighText uhdt_ntxt hval_txt
hier_hidendasRefHierarchyID
ver_vldfmendasRefValidFromDate
ver_vldtoendasRefValidToDate
OriginHierarchyID uhdt_vrsn hier_hid
SemanticTags to_merged_semtag SemanticTags
SemanticTagsTextJson to_merged_semtag SemanticTagsTextJson
Forbid_Add_LeafendasForbidAddLeaf
Forbid_Add_NodeendasForbidAddNode
Forbid_DeleteendasForbidDelete
Forbid_UpdateendasForbidUpdate
Forbid_Add_SemtagendasForbidAddSemTag
Forbid_MoveendasForbidMove
to_version to_version
to_semtag to_semtag
@AbapCatalog.sqlViewName: 'FACV_UH_EDGE'
//@ClientHandling.algorithm: #SESSION_VARIABLE

//@AbapCatalog.compiler.compareFilter: true

@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Universal Hierarchy Node'

@ObjectModel.usageType: {
  dataClass: #MASTER,
  serviceQuality: #C,
  sizeCategory: #S
}
define view fac_cds_uh_node
  as select from    uhdt_node as node
    left outer join uhdt_ntxt as ntxt on  node.node_id = ntxt.node_id
                                      and ntxt.lang    = $session.system_language
    left outer join uhdt_vrsn as r    on node.origin_verid = r.ver_id
  association [1..*] to fac_cds_uh_clfd_value        as to_clfd_value       on $projection.JoinId = to_clfd_value.ObjectId
  association [1..1] to fac_cds_uh_version           as to_version          on $projection.VersionId = to_version.VersionId
  association [1..*] to FAC_CDS_UH_NODESEMTAG        as to_semtag           on $projection.JoinId = to_semtag.NodeId
  association [1..1] to FAC_CDS_UH_FUNCTBL_SEMTAG    as to_merged_semtag    on $projection.JoinId = to_merged_semtag.NodeId
  association [1..1] to FAC_CDS_UH_FUNCTBL_MULTIATTR as to_merged_attrvals  on $projection.JoinId = to_merged_attrvals.NodeId
  association [0..*] to FAC_CDS_UH_NODE_ATTR_VALUE   as to_attribute_values on $projection.JoinId = to_attribute_values.NodeId
  association [1..1] to FAC_CDS_UH_NODE_ACTION       as to_node_action      on $projection.JoinId = to_node_action.NodeId
{
  key node.node_id                                              as NodeId,
      node.ver_id                                               as VersionId,
      node_pid                                                  as NodeParentId,
      node_rid                                                  as NodeRefId,
      node.node_id                                              as JoinId,
      node_type                                                 as NodeType,
      node_entity                                               as NodeEntity,
      node_level                                                as NodeLevel,
      node_ind                                                  as NodeIndicator,
      node_seq                                                  as NodeSequence,
      node_order                                                as NodeDisplayOrder,
      node_sgn                                                  as NodeSign,
      node_vldfm                                                as NodeValidFrom,
      node_vldto                                                as NodeValidTo,
      node_lval                                                 as NodeLowValue,
      node_hval                                                 as NodeHighValue,
      node.created_at                                           as CreatedAt,
      node.created_by                                           as CreatedBy,
      node.updated_at                                           as UpdatedAt,
      node.updated_by                                           as UpdatedBy,
      ref_verid                                                 as ReferenceVersionID,
      ref_t_group_id                                            as ReferenceGroupID,
      origin_verid                                              as OriginVersionID,
      ntxt.lval_txt                                             as NodeLowText,
      ntxt.hval_txt                                             as NodeHighText,
      case when node_type = 'Z'
        then r.hier_hid   end                                   as RefHierarchyID,
      case when node_type = 'Z'
        then r.ver_vldfm  end                                   as RefValidFromDate,
      case when node_type = 'Z'
        then r.ver_vldto  end                                   as RefValidToDate,
      r.hier_hid                                                as OriginHierarchyID,
      case when ref_t_group_id <> ''
           then 'R'
           else ''          end                                 as VirtualFlag,
      to_merged_semtag.SemanticTags                             as SemanticTags,
      to_merged_semtag.SemanticTagsTextJson                     as SemanticTagsTextJson,
      case when ref_t_group_id <> ''
           then 'X'
           else to_node_action.Forbid_Add_Leaf          end     as ForbidAddLeaf,

      case when ref_t_group_id <> ''
           then 'X'
           else to_node_action.Forbid_Add_Node          end     as ForbidAddNode,

      case when ( ref_t_group_id <> '' and node_type <> 'Z' )
           then 'X'
           else to_node_action.Forbid_Delete         end        as ForbidDelete,
      case when ref_t_group_id <> ''
           then 'X'
           else to_node_action.Forbid_Update          end       as ForbidUpdate,
      case when ref_t_group_id <> '' or node_type = 'R'
           then 'X'
           else to_node_action.Forbid_Add_Semtag          end   as ForbidAddSemTag,
      case when ( ref_t_group_id <> '' and node_type <> 'Z' )
           then 'X'
           else to_node_action.Forbid_Move          end         as ForbidMove,
      case when  ref_t_group_id <> ''
           then 'X'
           else to_node_action.Forbid_Sort_Subnode          end as ForbidSortSubnode,
      case
        when node.node_type = 'L' then 'leaf'
        when node.node_level = '000000' then 'expanded'
        else 'collapsed'
      end                                                       as DrillState,

      to_clfd_value,
      to_version,
      to_semtag,
      to_merged_semtag,
      to_merged_attrvals,
      to_attribute_values,
      to_node_action

}