I_FinWBSElementHierarchyNode
Fin WBS Element Hierarchy Node
I_FinWBSElementHierarchyNode is a Composite CDS View that provides data about "Fin WBS Element Hierarchy Node" in SAP S/4HANA. It reads from 2 data sources (I_WBSElementStructure, R_FinWBSElementHierarchyNode) and exposes 28 fields with key fields WBSElementHierarchy, HierarchyNode, ValidityEndDate, HierarchyNode, ValidityEndDate. It has 6 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_WBSElementStructure | I_WBSElementStructure | union_all |
| R_FinWBSElementHierarchyNode | R_FinWBSElementHierarchyNode | from |
Associations (6)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_WBSElementBasicData | _WBSElementBasicData | R_FinWBSElementHierarchyNode.WBSElement = _WBSElementBasicData.WBSElement |
| [1..1] | I_FinWBSElementHierarchy | _Hierarchy | $projection.WBSElementHierarchy = _Hierarchy.WBSElementHierarchy and $projection.ValidityEndDate = _Hierarchy.ValidityEndDate |
| [0..*] | I_FinWBSElementHierarchyNodeT | _Text | $projection.WBSElementHierarchy = _Text.WBSElementHierarchy and $projection.HierarchyNode = _Text.HierarchyNode and $projection.WBSElementExternalID = '' |
| [0..1] | I_WBSElementByExternalID | _WBSElementByExternalID | $projection.WBSElementExternalID = _WBSElementByExternalID.WBSElementExternalID |
| [0..1] | I_WBSElementBasicData | _WBSElement | I_WBSElementStructure.WBSElementInternalID = _WBSElement.WBSElementInternalID |
| [0..1] | I_WBSElementBasicData | _Parent | I_WBSElementStructure.WBSElementParentInternalID = _Parent.WBSElementInternalID |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Fin WBS Element Hierarchy Node | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| ObjectModel.dataCategory | #HIERARCHY | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| Analytics.technicalName | IFIWBSELEMENTHN | view | |
| Analytics.dataExtraction.enabled | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.modelingPattern | #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view |
Fields (28)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | WBSElementHierarchy | R_FinWBSElementHierarchyNode | WBSElementHierarchy | |
| KEY | HierarchyNode | R_FinWBSElementHierarchyNode | HierarchyNode | |
| KEY | ValidityEndDate | R_FinWBSElementHierarchyNode | ValidityEndDate | |
| ParentNode | R_FinWBSElementHierarchyNode | ParentNode | ||
| HierarchyVersion | R_FinWBSElementHierarchyNode | HierarchyVersion | ||
| ValidityStartDate | R_FinWBSElementHierarchyNode | ValidityStartDate | ||
| WBSElementExternalID | R_FinWBSElementHierarchyNode | WBSElementExternalID | ||
| WBSElement | R_FinWBSElementHierarchyNode | WBSElement | ||
| ParentWBSElementExternalID | R_FinWBSElementHierarchyNode | ParentWBSElementExternalID | ||
| NodeType | R_FinWBSElementHierarchyNode | NodeType | ||
| HierarchyNodeSequence | R_FinWBSElementHierarchyNode | HierarchyNodeSequence | ||
| HierarchyNodeLevel | R_FinWBSElementHierarchyNode | HierarchyNodeLevel | ||
| _Hierarchy | _Hierarchy | |||
| _WBSElementByExternalID | _WBSElementByExternalID | |||
| KEY | HierarchyNode | _WBSElement | WBSElement | |
| KEY | ValidityEndDate | |||
| ParentNode | _Parent | WBSElement | ||
| HierarchyVersion | ||||
| ValidityStartDate | ||||
| WBSElementExternalID | ||||
| WBSElement | _WBSElement | WBSElement | ||
| ParentWBSElementExternalID | ||||
| NodeType | ||||
| HierarchyNodeSequence | ||||
| HierarchyNodeLevel | ||||
| _Hierarchy | _Hierarchy | |||
| _WBSElementByExternalID | _WBSElementByExternalID | |||
| _Text | _Text |
@EndUserText.label: 'Fin WBS Element Hierarchy Node'
@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@AccessControl.authorizationCheck: #MANDATORY
@ObjectModel: { dataCategory: #HIERARCHY }
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MASTER
//hierarchy Annotation
//@ObjectModel.representativeKey: 'HierarchyNode'
@Analytics.technicalName: 'IFIWBSELEMENTHN'
@Analytics: { dataExtraction.enabled: true }
@Hierarchy.parentChild:
[{ recurse: { parent: ['ParentNode'], child: ['HierarchyNode'] },
siblingsOrder: [{ by: 'HierarchyNodeSequence', direction: #ASC }],
directory: '_Hierarchy'
}]
@Metadata.ignorePropagatedAnnotations: true
//@Analytics.dataExtraction: {enabled:true}
@ObjectModel.modelingPattern: #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE
@ObjectModel.supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_PARENT_CHILD_HIERARCHY_NODE, #EXTRACTION_DATA_SOURCE ]
@AccessControl.personalData.blocking: #NOT_REQUIRED
define view entity I_FinWBSElementHierarchyNode
as select from R_FinWBSElementHierarchyNode
association [0..1] to I_WBSElementBasicData as _WBSElementBasicData on R_FinWBSElementHierarchyNode.WBSElement = _WBSElementBasicData.WBSElement
association [1..1] to I_FinWBSElementHierarchy as _Hierarchy on $projection.WBSElementHierarchy = _Hierarchy.WBSElementHierarchy
and $projection.ValidityEndDate = _Hierarchy.ValidityEndDate
association [0..*] to I_FinWBSElementHierarchyNodeT as _Text on $projection.WBSElementHierarchy = _Text.WBSElementHierarchy
and $projection.HierarchyNode = _Text.HierarchyNode
and $projection.WBSElementExternalID = ''
association [0..1] to I_WBSElementByExternalID as _WBSElementByExternalID on $projection.WBSElementExternalID = _WBSElementByExternalID.WBSElementExternalID
{
@Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
@ObjectModel.foreignKey.association: '_Hierarchy'
key R_FinWBSElementHierarchyNode.WBSElementHierarchy,
@ObjectModel.text.association: '_Text'
key R_FinWBSElementHierarchyNode.HierarchyNode as HierarchyNode,
@Semantics.businessDate.to: true
key R_FinWBSElementHierarchyNode.ValidityEndDate as ValidityEndDate,
R_FinWBSElementHierarchyNode.ParentNode as ParentNode,
R_FinWBSElementHierarchyNode.HierarchyVersion as HierarchyVersion,
@Semantics.businessDate.from: true
R_FinWBSElementHierarchyNode.ValidityStartDate as ValidityStartDate,
@ObjectModel.foreignKey.association: '_WBSElementByExternalID'
R_FinWBSElementHierarchyNode.WBSElementExternalID as WBSElementExternalID,
R_FinWBSElementHierarchyNode.WBSElement as WBSElement,
R_FinWBSElementHierarchyNode.ParentWBSElementExternalID as ParentWBSElementExternalID,
R_FinWBSElementHierarchyNode.NodeType as NodeType,
R_FinWBSElementHierarchyNode.HierarchyNodeSequence as HierarchyNodeSequence,
R_FinWBSElementHierarchyNode.HierarchyNodeLevel as HierarchyNodeLevel,
_Hierarchy,
_WBSElementByExternalID,
_Text
}
union all
select from I_WBSElementStructure
association [0..1] to I_WBSElementBasicData as _WBSElement on I_WBSElementStructure.WBSElementInternalID = _WBSElement.WBSElementInternalID
association [0..1] to I_WBSElementBasicData as _Parent on I_WBSElementStructure.WBSElementParentInternalID = _Parent.WBSElementInternalID
association [1..1] to I_FinWBSElementHierarchy as _Hierarchy on $projection.WBSElementHierarchy = _Hierarchy.WBSElementHierarchy
and $projection.ValidityEndDate = _Hierarchy.ValidityEndDate
association [0..*] to I_FinWBSElementHierarchyNodeT as _Text on $projection.WBSElementHierarchy = _Text.WBSElementHierarchy
and $projection.HierarchyNode = _Text.HierarchyNode
and $projection.WBSElementExternalID = ''
association [0..1] to I_WBSElementByExternalID as _WBSElementByExternalID on $projection.WBSElementExternalID = _WBSElementByExternalID.WBSElementExternalID
{
key cast('WBSELEMENTHIERARCHY ' as hryid preserving type) as WBSElementHierarchy,
key _WBSElement.WBSElement as HierarchyNode,
key cast('99991231' as fis_datbi ) as ValidityEndDate,
_Parent.WBSElement as ParentNode,
'000000000000001' as HierarchyVersion,
cast('19000101' as fis_datab ) as ValidityStartDate,
cast(coalesce(_WBSElement.WBSElementExternalID, '') as fis_wbsext_no_conv preserving type ) as WBSElementExternalID,
_WBSElement.WBSElement as WBSElement,
cast(_Parent.WBSElementExternalID as fis_parent_wbsext_no_conv preserving type) as ParentWBSElementExternalID,
'L' as NodeType,
cast ('000000' as hryseqnbr preserving type ) as HierarchyNodeSequence,
cast ('000000' as hrylevel preserving type ) as HierarchyNodeLevel,
_Hierarchy,
_WBSElementByExternalID,
_Text
}
where
I_WBSElementStructure.WBSElementParentInternalID is not null
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_WBSELEMENTBASICDATA",
"I_WBSELEMENTSTRUCTURE",
"R_FINWBSELEMENTHIERARCHYNODE"
],
"ASSOCIATED":
[
"I_FINWBSELEMENTHIERARCHY",
"I_FINWBSELEMENTHIERARCHYNODET",
"I_WBSELEMENTBYEXTERNALID"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA