I_BankAccountUniversalHierNode

DDL: I_BANKACCOUNTUNIVERSALHIERNODE SQL: IBANKACCTUHND Type: view BASIC

Node of Bank Account Universal Hierarchy

I_BankAccountUniversalHierNode is a Basic CDS View that provides data about "Node of Bank Account Universal Hierarchy" in SAP S/4HANA. It reads from 1 data source (hrrp_node) and exposes 12 fields with key fields BankAccountHierarchy, HierarchyNode, ValidityEndDate, ParentNode. It has 3 associations to related views.

Data Sources (1)

SourceAliasJoin Type
hrrp_node hrrp_node from

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_BankAccountUniversalHier _Hierarchy $projection.BankAccountHierarchy = _Hierarchy.BankAccountHierarchy and $projection.ValidityEndDate = _Hierarchy.ValidityEndDate
[0..1] I_BankAccount _Account $projection.BankAccountInternalID = _Account.BankAccountInternalID
[1..*] I_BkAcctUniversalHierNodeTxt _Text $projection.BankAccountHierarchy = _Text.BankAccountHierarchy and $projection.HierarchyNode = _Text.HierarchyNode and $projection.ValidityEndDate = _Text.ValidityEndDate and $projection.ParentNode = _Text.ParentNode and $projection.BankAccountInternalID = '0000000000'

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName IBANKACCTUHND view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
EndUserText.label Node of Bank Account Universal Hierarchy view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
VDM.viewType #BASIC view
ObjectModel.dataCategory #HIERARCHY view
ObjectModel.representativeKey HierarchyNode view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.serviceQuality #C view
ClientHandling.algorithm #SESSION_VARIABLE view
Hierarchy.parentChild.recurse.parent ParentNode view
Hierarchy.parentChild.recurse.child HierarchyNode view
Hierarchy.parentChild.siblingsOrder.by HierarchyNode view
Hierarchy.parentChild.siblingsOrder.direction ASC view
Hierarchy.parentChild.directory _Hierarchy view

Fields (12)

KeyFieldSource TableSource FieldDescription
KEY BankAccountHierarchy hrrp_node hryid
KEY HierarchyNode hrrp_node hrynode
KEY ValidityEndDate hrrp_node hryvalto
KEY ParentNode hrrp_node parnode
ValidityStartDate hrrp_node hryvalfrom
SequenceNumber
HierarchyNodeLevel hrrp_node hrylevel
NodeType hrrp_node nodetype
IsPublicHierarchy _Hierarchy IsPublicHierarchy
_Account _Account
_Text _Text
_Hierarchy _Hierarchy
@AbapCatalog.sqlViewName: 'IBANKACCTUHND'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@EndUserText.label: 'Node of Bank Account Universal Hierarchy'
@AccessControl.authorizationCheck:#PRIVILEGED_ONLY
@VDM.viewType: #BASIC
@ObjectModel: { dataCategory: #HIERARCHY }
@ObjectModel.representativeKey: 'HierarchyNode'
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.sizeCategory: #M
@ObjectModel.usageType.serviceQuality: #C
@ClientHandling.algorithm: #SESSION_VARIABLE 
@Hierarchy.parentChild:
{
  recurse:
  {
    parent: 'ParentNode',
    child:  'HierarchyNode'
  },
  siblingsOrder:
  {
    by: 'HierarchyNode',
    direction: 'ASC'
  },

  directory : '_Hierarchy'
}
@AccessControl.privilegedAssociations: ['_Text']
define view I_BankAccountUniversalHierNode as select from hrrp_node 
    association [1..1] to I_BankAccountUniversalHier as _Hierarchy  on  $projection.BankAccountHierarchy = _Hierarchy.BankAccountHierarchy
                                                                    and $projection.ValidityEndDate      = _Hierarchy.ValidityEndDate
    association [0..1] to I_BankAccount as _Account on $projection.BankAccountInternalID = _Account.BankAccountInternalID
    association [1..*] to I_BkAcctUniversalHierNodeTxt as _Text        on  $projection.BankAccountHierarchy = _Text.BankAccountHierarchy
                                                                       and $projection.HierarchyNode       = _Text.HierarchyNode
                                                                       and $projection.ValidityEndDate     = _Text.ValidityEndDate
                                                                       and $projection.ParentNode          = _Text.ParentNode
                                                                       and $projection.BankAccountInternalID          = '0000000000'// just to show that this association is only to be followed if bank account is blank

{
      @ObjectModel.foreignKey.association: '_Hierarchy'
  key hrrp_node.hryid                                   as BankAccountHierarchy,
      @ObjectModel.text.association: '_Text'
  key hrrp_node.hrynode                                 as HierarchyNode,
      @Semantics.businessDate.to: true
  key hrrp_node.hryvalto                                as ValidityEndDate,
  key hrrp_node.parnode                                 as ParentNode,
      @Semantics.businessDate.from: true
      hrrp_node.hryvalfrom                                  as ValidityStartDate,
      concat(hrrp_node.hryseqnbr, hrrp_node.hrynode)        as SequenceNumber,
      hrrp_node.hrylevel                                    as HierarchyNodeLevel,
      hrrp_node.nodetype                                    as NodeType,
      cast(case when hrrp_node.nodetype = 'L' then hrrp_node.nodevalue
        else ' ' end as fclm_bam_acc_id) as BankAccountInternalID,
      @Consumption.hidden: true
      _Hierarchy.IsPublicHierarchy,
      _Account,
      _Text,  
      _Hierarchy
}
where _Hierarchy.HierarchyType = 'CM01' and nodetype <> 'D'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BANKACCOUNTUNIVERSALHIER",
"HRRP_NODE"
],
"ASSOCIATED":
[
"I_BANKACCOUNT",
"I_BANKACCOUNTUNIVERSALHIER",
"I_BKACCTUNIVERSALHIERNODETXT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/