I_EnterpriseProjectElementTP_2

DDL: I_ENTERPRISEPROJECTELEMENTTP_2 Type: view_entity TRANSACTIONAL Package: VDM_PPM_OBJECTS_TP_TASK

Version2 of TP-view for EPPM CRUD API

I_EnterpriseProjectElementTP_2 is a Transactional CDS View that provides data about "Version2 of TP-view for EPPM CRUD API" in SAP S/4HANA. It reads from 1 data source (R_EnterpriseProjectElement) and exposes 87 fields with key field ProjectElementUUID. It has 16 associations to related views. Part of development package VDM_PPM_OBJECTS_TP_TASK.

Data Sources (1)

SourceAliasJoin Type
R_EnterpriseProjectElement Workpackage from

Associations (16)

CardinalityTargetAliasCondition
[0..1] I_EnterpriseProjectElementTP_2 _ParentProjElement $projection.ParentObjectUUID = _ParentProjElement.ProjectElementUUID
[1..*] I_EnterpriseProjectElementTP_2 _SubProjElement $projection.ProjectElementUUID = _SubProjElement.ParentObjectUUID
[0..1] I_EnterpriseProjectElementTP_2 _ParentMilestone $projection.ParentObjectUUID = _ParentMilestone.ProjectElementUUID and _ParentMilestone.IsProjectMilestone = 'X'
[1..*] I_EnterpriseProjectElementTP_2 _ChildMilestone $projection.ProjectElementUUID = _ChildMilestone.ParentObjectUUID and _ChildMilestone.IsProjectMilestone = 'X'
[0..1] I_EnterpriseProjectElementTP_2 _ParentWBSElement $projection.ParentObjectUUID = _ParentWBSElement.ProjectElementUUID and _ParentWBSElement.IsProjectMilestone = ''
[1..*] I_EnterpriseProjectElementTP_2 _ChildWBSElement $projection.ProjectElementUUID = _ChildWBSElement.ParentObjectUUID and _ChildWBSElement.IsProjectMilestone = ''
[0..*] I_ProjectDemandTP _Team _Team.ReferencedObjectUUID = $projection.ProjectElementUUID and _Team.ProjectDemandType = 'S302'
[0..*] I_ProjectDemandTP _Expense _Expense.ReferencedObjectUUID = $projection.ProjectElementUUID and _Expense.ProjectDemandType = 'S401' ---Extension
[1..1] E_PPM_Task _ProjectElementExtension $projection.ProjectElementUUID = _ProjectElementExtension.TaskUUID
[1..1] E_PPM_EngagementProjElmnt _EngagementProjElmtExtension $projection.ProjectElementUUID = _EngagementProjElmtExtension.TaskUUID
[0..1] I_EntProjectElementJVATP_2 _EntProjectElementJVA
[0..1] I_EntProjElmntPublicSectorTP_2 _EntProjectElmntPublicSector
[0..1] R_EntProjElmntBlockFuncTP_2 _EntProjElmntBlkFunc
[0..1] R_EntProjElmntLongDescTP _EntProjElmntLongDesc
[0..*] R_EntProjElmntDlvbrlTP _EntProjElmntDlvbrl
[0..*] R_EntProjElmntWorkItemTP _EntProjElmntWorkItem

Annotations (10)

NameValueLevelField
Metadata.ignorePropagatedAnnotations true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.representativeKey ProjectElementUUID view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
EndUserText.label Version2 of TP-view for EPPM CRUD API view

Fields (87)

KeyFieldSource TableSource FieldDescription
KEY ProjectElementUUID R_EnterpriseProjectElement ProjectElementUUID
ProjectElement R_EnterpriseProjectElement ProjectElement
WBSElementInternalID R_EnterpriseProjectElement WBSElementInternalID
ProjectUUID R_EnterpriseProjectElement ProjectUUID
ProjectElementDescription R_EnterpriseProjectElement ProjectElementDescription
ParentObjectUUID R_EnterpriseProjectElement ParentObjectUUID
TaskTemplateUUID R_EnterpriseProjectElement TaskTemplateUUID
ProjectElementOrdinalNumber R_EnterpriseProjectElement ProjectElementOrdinalNumber
ProcessingStatus R_EnterpriseProjectElement ProcessingStatus
IsProjectMilestone R_EnterpriseProjectElement IsProjectMilestone
PlannedStartDate R_EnterpriseProjectElement PlannedStartDate
PlannedEndDate R_EnterpriseProjectElement PlannedEndDate
ActualStartDate R_EnterpriseProjectElement ActualStartDate
ActualEndDate R_EnterpriseProjectElement ActualFinishDate
ResponsibleCostCenter R_EnterpriseProjectElement ResponsibleCostCenter
CompanyCode R_EnterpriseProjectElement CompanyCode
ProfitCenter R_EnterpriseProjectElement ProfitCenter
FunctionalArea R_EnterpriseProjectElement FunctionalArea
ControllingArea R_EnterpriseProjectElement ControllingArea
Plant R_EnterpriseProjectElement Plant
Location R_EnterpriseProjectElement Location
TaxJurisdiction R_EnterpriseProjectElement TaxJurisdiction
FunctionalLocation R_EnterpriseProjectElement FunctionalLocation
EntProjectElementType R_EnterpriseProjectElement EntProjectElementType
FactoryCalendar R_EnterpriseProjectElement FactoryCalendar
CostingSheet R_EnterpriseProjectElement CostingSheet
InvestmentProfile R_EnterpriseProjectElement InvestmentProfile
WBSIsStatisticalWBSElement R_EnterpriseProjectElement WBSIsStatisticalWBSElement
CostCenter R_EnterpriseProjectElement CostCenter
WBSElementIsBillingElement R_EnterpriseProjectElement WBSElementIsBillingElement
ResultAnalysisInternalID R_EnterpriseProjectElement ResultAnalysisInternalID
LeadingSalesOrder R_EnterpriseProjectElement LeadingSalesOrder
LeadingSalesOrderItem R_EnterpriseProjectElement LeadingSalesOrderItem
EntProjectElementObjectType R_EnterpriseProjectElement EntProjectElementObjectType
EntProjectSettlementElement R_EnterpriseProjectElement EntProjectSettlementElement
EntProjIsSettlmtRuleInherited R_EnterpriseProjectElement EntProjIsSettlmtRuleInherited
EntProjProfitabilitySegment R_EnterpriseProjectElement EntProjProfitabilitySegment
CreatedByUser R_EnterpriseProjectElement CreatedByUser
CreationDateTime R_EnterpriseProjectElement CreationDateTime
LastChangedByUser R_EnterpriseProjectElement LastChangedByUser
LastChangeDateTime R_EnterpriseProjectElement LastChangeDateTime
MilestoneApprovalStatus R_EnterpriseProjectElement MilestoneApprovalStatus
IsMainMilestone R_EnterpriseProjectElement IsMainMilestone
HierarchyNode
HierarchyParentNode
HierarchyDistanceFromRoot
HierarchyDescendantCount
HierarchyDrillState
HierarchyRank
HierarchyLevel
EntProjElmntDmndCpyIsReqd
EntProjElmntSettlmtCpyIsReqd
EntProjElmntDistributionOption
ProjectCategory _EnterpriseProject ProjectCategory
EnterpriseProjectServiceOrg _EnterpriseProject EnterpriseProjectServiceOrg
_ProcessingStatusText _ProcessingStatusText
_InvestmentProfileText _InvestmentProfileText
_FunctionalAreaText _FunctionalAreaText
_FactoryCalendarText _FactoryCalendarText
_FunctionalLocationText _FunctionalLocationText
_CostCenter _CostCenter
_ResponsibleCostCenter _ResponsibleCostCenter
_ProfitCenter _ProfitCenter
_CreatedByUser _CreatedByUser
_LastChangedByUser _LastChangedByUser
_CompanyCode _CompanyCode
_Plant _Plant
_ControllingArea _ControllingArea
_MilestoneApprovalStatus _MilestoneApprovalStatus
_MilestoneApprovalStatusText _MilestoneApprovalStatusText
_RsltAnlysKeyText _RsltAnlysKeyText
_EnterpriseProject _EnterpriseProject
_ParentProjElement _ParentProjElement
_SubProjElement _SubProjElement
_ParentMilestone _ParentMilestone
_ChildMilestone _ChildMilestone
_ParentWBSElement _ParentWBSElement
_ChildWBSElement _ChildWBSElement
_EntProjectElementJVA _EntProjectElementJVA
_EntProjectElmntPublicSector _EntProjectElmntPublicSector
_EntProjElmntBlkFunc _EntProjElmntBlkFunc
_EntProjElmntLongDesc _EntProjElmntLongDesc
_EntProjElmntDlvbrl _EntProjElmntDlvbrl
_EntProjElmntWorkItem _EntProjElmntWorkItem
_EnterpriseProjectForUser _EnterpriseProjectForUser
_Team _Team
_Expense _Expense
@Metadata.ignorePropagatedAnnotations: true

@AccessControl: {
    authorizationCheck:     #CHECK,
    personalData.blocking:  #BLOCKED_DATA_EXCLUDED
}

@ObjectModel: {
    semanticKey:       [ 'ProjectElement' ],
    representativeKey: 'ProjectElementUUID',
    alternativeKey: [ { id : 'WBSElementInternalID',       element: ['WBSElementInternalID'],         uniqueness: #UNIQUE } ],
    usageType: {
      dataClass:       #MASTER,
      serviceQuality:  #C,
      sizeCategory:    #XL
    }
}

@VDM: {
    viewType: #TRANSACTIONAL,
    lifecycle.contract.type: #SAP_INTERNAL_API
}
@EndUserText.label: 'Version2 of TP-view for EPPM CRUD API'


define view entity I_EnterpriseProjectElementTP_2
  as select from R_EnterpriseProjectElement as Workpackage


  association        to parent I_EnterpriseProjectTP_2 as _EnterpriseProject           on  $projection.ProjectUUID = _EnterpriseProject.ProjectUUID

  association [0..1] to I_EnterpriseProjectElementTP_2 as _ParentProjElement           on  $projection.ParentObjectUUID = _ParentProjElement.ProjectElementUUID
  association [1..*] to I_EnterpriseProjectElementTP_2 as _SubProjElement              on  $projection.ProjectElementUUID = _SubProjElement.ParentObjectUUID

  association [0..1] to I_EnterpriseProjectElementTP_2 as _ParentMilestone             on  $projection.ParentObjectUUID        = _ParentMilestone.ProjectElementUUID
                                                                                       and _ParentMilestone.IsProjectMilestone = 'X'
  association [1..*] to I_EnterpriseProjectElementTP_2 as _ChildMilestone              on  $projection.ProjectElementUUID     = _ChildMilestone.ParentObjectUUID
                                                                                       and _ChildMilestone.IsProjectMilestone = 'X'

  association [0..1] to I_EnterpriseProjectElementTP_2 as _ParentWBSElement            on  $projection.ParentObjectUUID         = _ParentWBSElement.ProjectElementUUID
                                                                                       and _ParentWBSElement.IsProjectMilestone = ''
  association [1..*] to I_EnterpriseProjectElementTP_2 as _ChildWBSElement             on  $projection.ProjectElementUUID      = _ChildWBSElement.ParentObjectUUID
                                                                                       and _ChildWBSElement.IsProjectMilestone = ''
                                                                                       
  // Cross BO   

  association [0..*] to I_ProjectDemandTP              as _Team                        on  _Team.ReferencedObjectUUID            = $projection.ProjectElementUUID 
                                                                                       and _Team.ProjectDemandType               = 'S302'
                                                                                       
  association [0..*] to I_ProjectDemandTP              as _Expense                     on  _Expense.ReferencedObjectUUID         = $projection.ProjectElementUUID 
                                                                                       and _Expense.ProjectDemandType            = 'S401' 
                                                                                       
  ---Extension Association
  association [1..1] to E_PPM_Task                     as _ProjectElementExtension     on  $projection.ProjectElementUUID = _ProjectElementExtension.TaskUUID
  association [1..1] to E_PPM_EngagementProjElmnt      as _EngagementProjElmtExtension on  $projection.ProjectElementUUID = _EngagementProjElmtExtension.TaskUUID
  composition [0..1] of I_EntProjectElementJVATP_2     as _EntProjectElementJVA
  composition [0..1] of I_EntProjElmntPublicSectorTP_2 as _EntProjectElmntPublicSector
  composition [0..1] of R_EntProjElmntBlockFuncTP_2    as _EntProjElmntBlkFunc
  composition [0..1] of R_EntProjElmntLongDescTP       as _EntProjElmntLongDesc
  composition [0..*] of R_EntProjElmntDlvbrlTP         as _EntProjElmntDlvbrl
  composition [0..*] of R_EntProjElmntWorkItemTP       as _EntProjElmntWorkItem
  //composition [0..1] of R_EntProjElmntIntIdfrTP        as _EntProjElmntIntIdfr


{
  key Workpackage.ProjectElementUUID,
      Workpackage.ProjectElement,
      Workpackage.WBSElementInternalID,
      Workpackage.ProjectUUID                                   as ProjectUUID,
      Workpackage.ProjectElementDescription,
      Workpackage.ParentObjectUUID                              as ParentObjectUUID,
      Workpackage.TaskTemplateUUID                              as TaskTemplateUUID,
      Workpackage.ProjectElementOrdinalNumber                   as ProjectElementOrdinalNumber,
      Workpackage.ProcessingStatus                              as ProcessingStatus,
      @Semantics.booleanIndicator: true
      Workpackage.IsProjectMilestone                            as IsProjectMilestone,
      Workpackage.PlannedStartDate                              as PlannedStartDate,
      Workpackage.PlannedEndDate                                as PlannedEndDate,
      Workpackage.ActualStartDate                               as ActualStartDate,
      Workpackage.ActualFinishDate                              as ActualEndDate,
      Workpackage.ResponsibleCostCenter                         as ResponsibleCostCenter,
      Workpackage.CompanyCode                                   as CompanyCode,
      Workpackage.ProfitCenter                                  as ProfitCenter,
      Workpackage.FunctionalArea                                as FunctionalArea,
      Workpackage.ControllingArea                               as ControllingArea,
      Workpackage.Plant                                         as Plant,
      Workpackage.Location                                      as Location,
      Workpackage.TaxJurisdiction                               as TaxJurisdiction,
      Workpackage.FunctionalLocation                            as FunctionalLocation,
      Workpackage.EntProjectElementType,
      Workpackage.FactoryCalendar                               as FactoryCalendar,
      Workpackage.CostingSheet                                  as CostingSheet,
      Workpackage.InvestmentProfile                             as InvestmentProfile,
      Workpackage.WBSIsStatisticalWBSElement                    as WBSIsStatisticalWBSElement,
      Workpackage.CostCenter                                    as CostCenter,
      Workpackage.WBSElementIsBillingElement                    as WBSElementIsBillingElement,
      Workpackage.ResultAnalysisInternalID                      as ResultAnalysisInternalID,
      Workpackage.LeadingSalesOrder                             as LeadingSalesOrder,
      Workpackage.LeadingSalesOrderItem                         as LeadingSalesOrderItem,
      Workpackage.EntProjectElementObjectType                   as EntProjectElementObjectType,
      // CE2408 Hierarchical Settlement Changes

      Workpackage.EntProjectSettlementElement,
      Workpackage.EntProjIsSettlmtRuleInherited,
      // CE2602 Profitability Segment

      Workpackage.EntProjProfitabilitySegment                   as EntProjProfitabilitySegment,

      //admin data

      Workpackage.CreatedByUser                                 as CreatedByUser,
      Workpackage.CreationDateTime                              as CreationDateTime,
      Workpackage.LastChangedByUser                             as LastChangedByUser,
      Workpackage.LastChangeDateTime                            as LastChangeDateTime, 

      //Milestone

      Workpackage.ForecastedEndDate,
      Workpackage.MilestoneApprovalStatus,
      Workpackage.IsMainMilestone,

      //      //Hierarchy

      cast('' as abap.char( 50 ) )                              as HierarchyNode,
      cast( '' as abap.sstring(1333) )                          as HierarchyParentNode,
      cast( 0 as abap.int4 )                                    as HierarchyDistanceFromRoot,
      cast( 0 as abap.int4 )                                    as HierarchyDescendantCount,
      cast( '' as abap.char(22) )                               as HierarchyDrillState, // leaf, expanded, collapsed

      cast( 0 as hum_hierarchy_rank )                           as HierarchyRank,
      cast( 0 as abap.int4 )                                    as HierarchyLevel,

      cast ( '' as boole_d preserving type )                    as EntProjElmntDmndCpyIsReqd,
      cast ( '' as boole_d preserving type )                    as EntProjElmntSettlmtCpyIsReqd,
      // Category 7 Professional Service Application (Fiori)

      cast ( 0 as /s4ppm/tv_distributiontype preserving type )  as EntProjElmntDistributionOption,
      

      //For Authorization

      @Consumption.hidden: true
      _EnterpriseProject.ProjectCategory                        as ProjectCategory,
      @Consumption.hidden: true
      _EnterpriseProject.EnterpriseProjectServiceOrg            as EnterpriseProjectServiceOrg,
      //Association


      _ProcessingStatusText,
      _InvestmentProfileText,
      _FunctionalAreaText,
      _FactoryCalendarText,
      _FunctionalLocationText,
      _CostCenter,
      _ResponsibleCostCenter,
      _ProfitCenter,
      _CreatedByUser,
      _LastChangedByUser,
      _CompanyCode,
      _Plant,
      _ControllingArea,
      _MilestoneApprovalStatus,
      _MilestoneApprovalStatusText,
      _RsltAnlysKeyText,

      _EnterpriseProject,

      _ParentProjElement,
      _SubProjElement,
      _ParentMilestone,
      _ChildMilestone,
      _ParentWBSElement,
      _ChildWBSElement,

      _EntProjectElementJVA,
      _EntProjectElmntPublicSector,
      //      _ProjectElementExtension,

      _EntProjElmntBlkFunc,
      _EntProjElmntLongDesc,
      @Semantics.valueRange.maximum: '1'
      _EntProjElmntDlvbrl,
      _EntProjElmntWorkItem,
      _EnterpriseProjectForUser,
      
      // Cross BO

      _Team,
      _Expense
      //_EntProjElmntIntIdfr


}