I_BUDGETACCOUNTHIERARCHYNODE
Budget Account Hierarchy Node
I_BUDGETACCOUNTHIERARCHYNODE is a CDS View in S/4HANA. Budget Account Hierarchy Node. 1 CDS views read from this table.
CDS Views using this table (1)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| A_BudgetAccountCoreHierNode | view | from | COMPOSITE | Budget Account Hierarchy Node |
@AbapCatalog.sqlViewName: 'IPSMS4CBDACHN'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@EndUserText.label: 'Budget Account Hierarchy Node'
@VDM.viewType: #BASIC
@Hierarchy.parentChild:
{ recurse: { parent: 'ParentNode', child: 'HierarchyNode' },
siblingsOrder: { by: 'SequenceNumber', direction: 'ASC' },
directory: '_Hierarchy'
}
@Analytics: { dataExtraction: {enabled:true} }
@ObjectModel: {
dataCategory: #HIERARCHY,
usageType: {
dataClass: #MASTER,
serviceQuality: #A,
sizeCategory: #XL
}
}
define view I_BudgetAccountHierarchyNode
as select from hrrp_node
inner join I_BudgetAccountHierarchy on I_BudgetAccountHierarchy.BudgetAccountHierarchy = hrrp_node.hryid
and I_BudgetAccountHierarchy.ValidityEndDate = hrrp_node.hryvalto
association [0..*] to I_BudgetAccountHierarchyNodeT as _Text on $projection.BudgetAccountHierarchy = _Text.BudgetAccountHierarchy
and $projection.HierarchyNode = _Text.HierarchyNode
and $projection.PubSecBudgetAccount = '' // just to show that this association is only to be followed if BudgetAccounts is blank
association [0..1] to I_BudgetAccountInChtAccts as _BudgetAccountInChtAccts on $projection.ChartOfAccounts = _BudgetAccountInChtAccts.ChartOfAccounts
and $projection.PubSecBudgetAccount = _BudgetAccountInChtAccts.PubSecBudgetAccount
association [1..1] to I_BudgetAccountHierarchy as _Hierarchy on $projection.BudgetAccountHierarchy = _Hierarchy.BudgetAccountHierarchy
and $projection.ValidityEndDate = _Hierarchy.ValidityEndDate
association [0..1] to I_ChartOfAccounts as _ChartOfAccounts on $projection.ChartOfAccounts = _ChartOfAccounts.ChartOfAccounts
{
@Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
@ObjectModel.foreignKey.association: '_Hierarchy'
key cast( hrrp_node.hryid as psm_hryid_budgetaccount preserving type) as BudgetAccountHierarchy,
@ObjectModel.text.association: '_Text'
key hrrp_node.hrynode as HierarchyNode,
@Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
@Semantics.businessDate.to: true
key cast( hrrp_node.hryvalto as fis_datbi preserving type ) as ValidityEndDate,
hrrp_node.parnode as ParentNode,
hrrp_node.hryver as HierarchyVersion,
@Semantics.businessDate.from: true
cast( hrrp_node.hryvalfrom as fis_datab preserving type) as ValidityStartDate,
@ObjectModel.foreignKey.association: '_BudgetAccountInChtAccts'
cast ( case nodetype
when 'L' then hrrp_node.nodevalue
else ''
end as psm_bdgt_account ) as PubSecBudgetAccount,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_ChartOfAccountsStdVH',
element: 'ChartOfAccounts' }
}]
@ObjectModel.foreignKey.association: '_ChartOfAccounts'
cast( hrrp_node.nodecls as fis_ktopl ) as ChartOfAccounts,
concat( hrrp_node.hryseqnbr, hrrp_node.hrynode ) as SequenceNumber,
hrrp_node.hryseqnbr as HierarchyNodeSequence,
hrrp_node.hrylevel as HierarchyNodeLevel,
hrrp_node.nodetype as NodeType,
_Text,
_BudgetAccountInChtAccts,
_ChartOfAccounts,
_Hierarchy
}
where
nodetype = 'L'
or nodetype = 'N'
or nodetype = 'R'