I_ProjectStructureNode

DDL: I_PROJECTSTRUCTURENODE SQL: IPROJSTRUCNODE Type: view COMPOSITE Package: ODATA_PROJECT_HIERARCHY

Project Structure Node

I_ProjectStructureNode is a Composite CDS View that provides data about "Project Structure Node" in SAP S/4HANA. It reads from 1 data source (P_ProjectObject) and exposes 8 fields with key fields ProjectStructureHierarchy, ProjectObjectNode. It has 2 associations to related views. Part of development package ODATA_PROJECT_HIERARCHY.

Data Sources (1)

SourceAliasJoin Type
P_ProjectObject P_ProjectObject from

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_ProjectStructure _ProjectStructure $projection.ProjectObjectNode = _ProjectStructure.ProjectObjectNode
[0..1] I_ProjectStructureHierarchy _ProjectStructureHierarchy $projection.ProjectStructureHierarchy = _ProjectStructureHierarchy.ProjectStructureHierarchy

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName IPROJSTRUCNODE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
EndUserText.label Project Structure Node view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
ClientHandling.algorithm #SESSION_VARIABLE view
Hierarchy.parentChild.recurse.parent ProjectObjectParentNode view
Hierarchy.parentChild.recurse.child ProjectObjectNode view
Hierarchy.parentChild.siblingsOrder.by ProjectObjectNode view
Hierarchy.parentChild.siblingsOrder.direction ASC view
Hierarchy.parentChild.directory _ProjectStructureHierarchy view
ObjectModel.dataCategory #HIERARCHY view
ObjectModel.representativeKey ProjectObjectNode view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view

Fields (8)

KeyFieldSource TableSource FieldDescription
KEY ProjectStructureHierarchy ProjectObjectRootNode
KEY ProjectObjectNode ProjectObjectNode
IsActiveEntity IsActiveEntity
ProjectObjectRootNode ProjectObjectRootNode
ProjectObjectParentNode ProjectObjectParentNode
Project Project
_ProjectStructure _ProjectStructure
_ProjectStructureHierarchy _ProjectStructureHierarchy
@AbapCatalog.sqlViewName: 'IPROJSTRUCNODE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@EndUserText.label: 'Project Structure Node'
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory : #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE

@Hierarchy.parentChild: {

  recurse: {
    parent: 'ProjectObjectParentNode',
    child:  'ProjectObjectNode'
  },

  siblingsOrder: {
    by:     'ProjectObjectNode',
    direction: 'ASC'
  },

  directory : '_ProjectStructureHierarchy'
}

@ObjectModel.dataCategory: #HIERARCHY
@ObjectModel.representativeKey: 'ProjectObjectNode'
@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API

define view I_ProjectStructureNode
  as select from P_ProjectObject
  association [0..1] to I_ProjectStructure          as _ProjectStructure          on $projection.ProjectObjectNode = _ProjectStructure.ProjectObjectNode
  association [0..1] to I_ProjectStructureHierarchy as _ProjectStructureHierarchy on $projection.ProjectStructureHierarchy = _ProjectStructureHierarchy.ProjectStructureHierarchy
  //association [0..1] to I_ProjectStructureHierarchy as _ProjectStructureHierarchy on $projection.ProjectObjectRootNode = _ProjectStructureHierarchy.ProjectStructureHierarchy

{

            @Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }
            @ObjectModel.foreignKey.association: '_ProjectStructureHierarchy'
  key       ProjectObjectRootNode as ProjectStructureHierarchy, 
            
            @ObjectModel.foreignKey.association: '_ProjectStructure'
  key       ProjectObjectNode,
  
//            @Consumption.filter: {mandatory : true, selectionType : #SINGLE, multipleSelections : false }

//            @ObjectModel.foreignKey.association: '_ProjectStructureHierarchy'

//  key       'PROJECTSTRUCTUREHIERARCHY' as ProjectStructureHierarchy,

                  
            IsActiveEntity,
            
            //@ObjectModel.foreignKey.association: '_ProjectStructureHierarchy'

            ProjectObjectRootNode,
  
            ProjectObjectParentNode,
            Project,
            _ProjectStructure,
            _ProjectStructureHierarchy
}