I_PPM_PROJECTSUMMARYTASK

CDS View

Project, Projecttemplate or snapshot

I_PPM_PROJECTSUMMARYTASK is a CDS View in S/4HANA. Project, Projecttemplate or snapshot. It contains 54 fields. 24 CDS views read from this table.

CDS Views using this table (24)

ViewTypeJoinVDMDescription
C_PPM_MyActvProjectsCostTable view from CONSUMPTION My Projects - Cost Table (OVP)
C_ProjectFinCtrlrOvw view left_outer CONSUMPTION Project Financial Controller Overview
I_EnterpriseProjectElementTP view inner TRANSACTIONAL TP view for CRUD API for EPPM Workpackages and milestones
I_EnterpriseProjectRankingCost view left_outer COMPOSITE Costs of projects assigned to Ranking
I_PPM_IsMyProject view from COMPOSITE All projects a user is respsonible for
I_PPM_IsMyProjectAsSubstitute view inner COMPOSITE All prjs a usr is rsp for as a subst
I_PPM_MostCriticalProject view from COMPOSITE My Projects - Critical
I_PPM_MyActiveProjects view from COMPOSITE My Projects – Active
I_PPM_MyActvProjectsStsArea view inner COMPOSITE My Projects - Active: Status Area
I_PPM_Myplannedprojects view from COMPOSITE My Projects – Planned
I_PPM_ProjectCostForecastData view from COMPOSITE Project Cost Forecast: ML Training Input
I_PPM_ProjectCostSumCurrent view from COMPOSITE Project Cost To Current Date
I_PPM_ProjectCostSumToDate view from COMPOSITE Project Cost To Date
I_PPM_ProjectForUpdate view from COMPOSITE Lists all projects which can be updated
I_PPM_ProjectObjectLink view inner COMPOSITE PPM Project Object Link
I_PPM_ProjectPublicSector view from COMPOSITE Extension for Public Sector Fields
I_PPM_ProjectSearch view from COMPOSITE Basic Enterprise Search view for projects
I_PPM_ProjectStatusArea view inner COMPOSITE PPM Project Status Area Compositional Hierarchy View
I_PPM_ProjJntVentureAccounting view from COMPOSITE Extension for Joint Venture Accounting
I_PPM_UpcMilestonesProjects view inner COMPOSITE Upcoming Milestones for Projects
P_PPM_Project view from COMPOSITE Project
P_PPM_ProjectList view from COMPOSITE List of all Projects for UI consumption
P_PPM_Prstcm_ProjData view from CONSUMPTION Private View of Projects By Key Figures visual filters
P_PPM_PrStCmrProjByKeyFigures view from COMPOSITE Projects By Key Figures

Fields (54)

KeyField CDS FieldsUsed in Views
KEY ProjectInternalID ProjectInternalID 11
KEY ProjectSummaryTaskUUID ProjectSummaryTaskUUID 16
KEY ProjectUUID ProjectUUID 16
_AuthGroup _AuthGroup 8
_AuthRole _AuthRole 8
_AuthSubst _AuthSubst 8
_AuthUser _AuthUser 9
_CreatedByUser _CreatedByUser 1
_I_Project _I_Project 2
_PriorityText _PriorityText 1
_ProjectLastChangedByUser _ProjectLastChangedByUser 1
_ProjectTypeName _ProjectTypeName 1
_ProjObjRoot _ProjObjRoot 5
ActualFinishDate ActualEndDate 1
ActualFinishDateTime ActualFinishDateTime 1
ActualStartDate ActualStartDate 1
ActualStartDateTime ActualStartDateTime 1
CreatedByUser CreatedByUser 2
CreationDateTime CreationDateTime 2
DurationUnit DurationUnit 1
EarliestFinishDateTime EarliestFinishDateTime 1
EarliestStartDateTime EarliestStartDateTime 1
EntProjIsMultiSlsOrdItmsEnbld EntProjIsMultiSlsOrdItmsEnbld 1
FinishConstraintDateTime FinishConstraintDateTime 1
ForecastedFinishDateTime ForecastedFinishDateTime 1
ForecastedStartDate ForecastedEndDate,ForecastedStartDate 1
ForecastedStartDateTime ForecastedStartDateTime 1
IsSummaryTaskEnabled IsSummaryTaskEnabled 1
LastChangeDateTime ProjectLastChangedDateTime 1
LatestFinishDate ProjectEndDate 3
LatestFinishDateTime LatestFinishDateTime 1
LatestStartDate ProjectStartDate 3
LatestStartDateTime LatestStartDateTime 1
MasterLanguage MasterLanguage 2
OrganizationalUnit OrganizationalUnit 1
OrganizationalUnitObjectType OrganizationalUnitObjectType 1
PlanVersion PlanVersion 1
PriorityCode PriorityCode 5
Project Project 8
ProjectCategory ProjectCategory 2
ProjectEarliestOrLatest ProjectEarliestOrLatest 1
ProjectElementDuration ProjectElementDuration 2
ProjectLastChangedByUser LastChangedByUser,ProjectLastChangedByUser 2
ProjectLastChangedDateTime LastChangeDateTime,ProjectLastChangedDateTime 2
ProjectLocation ProjectLocation 1
ProjectName ProjectName 6
ProjectProcessingStatus ProcessingStatus,ProjectProcessingStatus 6
ProjectReasonCode ProjectReasonCode 1
ProjectTemplateUUID ProjectTemplateUUID 1
ProjectType ProjectType 4
ProjectVersionNumber ProjectVersionNumber 2
ReleaseDateTime ReleaseDateTime 1
StartConstraintDateTime StartConstraintDateTime 1
WBSElementInternalID WBSElementInternalID 9
@VDM.lifecycle: {
  status: #DEPRECATED,
  successor: 'R_EnterpriseProject'
}
@EndUserText.label: 'Project, Projecttemplate or snapshot'

@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API

@AccessControl: {
    authorizationCheck: #CHECK,
    privilegedAssociations: [ '_ProjectType', '_ProjectTypeName' ],
    personalData.blocking: #BLOCKED_DATA_EXCLUDED
  }

@ClientHandling.algorithm: #SESSION_VARIABLE

@AbapCatalog: {
    sqlViewName: 'IPPMPROSUMTASK',
    compiler.compareFilter: true,
    preserveKey:true
}

@ObjectModel: {
   semanticKey:       [ 'Project' ],
   representativeKey: 'ProjectUUID',
   alternativeKey: [ { id : 'ProjectSummaryTaskUUID', uniqueness: #UNIQUE, element: 'ProjectSummaryTaskUUID' },
                     { id : 'ProjectInternalID'     , uniqueness: #UNIQUE, element: 'ProjectInternalID' }       ],
   usageType: {
     serviceQuality:  #B,
     dataClass:       #MASTER,
     sizeCategory:    #L
   }
}

@UI.headerInfo: {
  typeName:       'Project',
  typeNamePlural: 'Projects'
}

define view I_PPM_ProjectSummaryTask
  as select from I_PPM_Task        as SummaryTask
    inner join   I_PPM_ProjectRoot as ProjectRoot on(
      ProjectRoot.ProjectUUID = SummaryTask.ProjectUUID
    )
  // associations to authorization views

  association [0..*] to I_PPM_AuthznByUsrH      as _AuthUser        on  _AuthUser.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
                                                                    and _AuthUser.UserID               = $session.user
                                                                    and (
                                                                       _AuthUser.Activity              = 'Admin'
                                                                       or _AuthUser.Activity           = 'Write'
                                                                       or _AuthUser.Activity           = 'Read'
                                                                     )
  association [0..*] to I_PPM_AuthznBySubstitH  as _AuthSubst       on  _AuthSubst.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
                                                                    and _AuthSubst.UserID               = $session.user
                                                                    and (
                                                                       _AuthSubst.Activity              = 'Admin'
                                                                       or _AuthSubst.Activity           = 'Write'
                                                                       or _AuthSubst.Activity           = 'Read'
                                                                     )
  association [0..*] to I_PPM_AuthznByUserRoleH as _AuthRole        on  _AuthRole.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
                                                                    and _AuthRole.UserID               = $session.user
                                                                    and (
                                                                       _AuthRole.Activity              = 'Admin'
                                                                       or _AuthRole.Activity           = 'Write'
                                                                       or _AuthRole.Activity           = 'Read'
                                                                     )
  association [0..*] to I_PPM_AuthznByUsrGrpH   as _AuthGroup       on  _AuthGroup.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
                                                                    and _AuthGroup.UserID               = $session.user
                                                                    and (
                                                                       _AuthGroup.Activity              = 'Admin'
                                                                       or _AuthGroup.Activity           = 'Write'
                                                                       or _AuthGroup.Activity           = 'Read'
                                                                     )

  // PS Root WBS Element

  association [0..1] to I_WBSElementBasicData   as _ProjObjRoot     on  (
          _ProjObjRoot.WBSElementInternalID = $projection.WBSElementInternalID
        )

  // other associations

  association [0..1] to I_PPM_ProjectType       as _ProjectType     on  (
          _ProjectType.ProjectType = $projection.ProjectType
        )
  association [0..*] to I_PPM_ProTypeText       as _ProjectTypeName on  (
      _ProjectTypeName.ProjectType = $projection.ProjectType
    )
  association [0..*] to I_PPM_Task              as _Task            on  (
                 _Task.ProjectUUID                                                        = $projection.ProjectUUID
               )
                                                                    and (
                                                                       (
                                                                         _Task.ObjectType = 'TPO'
                                                                       )
                                                                       or(
                                                                         _Task.ObjectType = 'TTO'
                                                                       )
                                                                     )
  association [0..*] to I_PPM_Task              as _Phase           on  (
                _Phase.ProjectUUID                                                       = $projection.ProjectUUID
              )
                                                                    and (
                                                                       _Phase.ObjectType = 'PPO'
                                                                     )
  association [0..1] to I_PPM_ItemInfo          as _Portfolio       on  (
            _Portfolio.ProjectUUID = $projection.ProjectUUID
          )

{
  key ProjectRoot.ProjectUUID,

/* CE2011 - Project is referred by Enterprise Project
      @Consumption.semanticObject: 'EnterpriseProject' */
      @ObjectModel.text.association: '_ProjectName'
      SummaryTask.TaskUUID             as ProjectSummaryTaskUUID,
      ProjectRoot.ProjectCategory,
       
      //    @Semantics.user.lastChangedBy: true  - This is on project level, not for this record only!


      ProjectRoot.ProjectLastChangedByUser,
      //    @Semantics.systemDateTime.lastChangedAt: true

      ProjectRoot.ProjectLastChangedDateTime,
      ProjectRoot.ProjectReasonCode,
      ProjectRoot.MasterLanguage,
      ProjectRoot.IsSummaryTaskEnabled,
      ProjectRoot.ProjectLocation,
      ProjectRoot.PlanVersion,
      ProjectRoot.OrganizationalUnitObjectType,
      ProjectRoot.OrganizationalUnit,
      ProjectRoot.ProjectEarliestOrLatest,
      ProjectRoot.EntProjectIsConfidential,
      ProjectRoot.EnterpriseProjectServiceOrg,

      ProjectRoot.ProjectTemplateUUID, // when the project was copied,this contains the UUID of the source project

      // PS Data

      ProjectRoot.ProjectInternalID,
    
      SummaryTask.WBSElementInternalID,

      @ObjectModel.text.association: '_ProjectTypeName'
      SummaryTask.TaskType             as ProjectType,
// CE2011 - Project is referred by EnterpriseProject   

      @Consumption.semanticObject: 'EnterpriseProject' 
      SummaryTask.ExternalId           as Project,
      SummaryTask.TaskName             as ProjectName,
      SummaryTask.ReleaseDateTime,

      SummaryTask.EarliestStartDateTime,
      SummaryTask.EarliestStartDate,
      SummaryTask.EarliestFinishDateTime,
      SummaryTask.EarliestFinishDate,

      SummaryTask.StartConstraintType,
      SummaryTask.StartConstraintDateTime,
      SummaryTask.StartConstraintDate,
      SummaryTask.FinishConstraintType as ProjectFinishConstraintType,
      SummaryTask.FinishConstraintDateTime,
      SummaryTask.FinishConstraintDate,

      SummaryTask.ActualStartDateTime,
      SummaryTask.ActualStartDate,
      SummaryTask.ActualFinishDateTime,
      SummaryTask.ActualFinishDate,

      SummaryTask.LatestStartDateTime,
      SummaryTask.LatestStartDate,
      SummaryTask.LatestFinishDateTime,
      SummaryTask.LatestFinishDate,

      SummaryTask.ForecastedStartDateTime,
      SummaryTask.ForecastedStartDate,
      SummaryTask.ForecastedFinishDateTime,
      SummaryTask.ForecastedFinishDate,
      SummaryTask.ForecastedFinishDate as ForecastedEndDate,

      SummaryTask.ProjectElementDuration,
      SummaryTask.DurationUnit,

      SummaryTask.ProjectVersionNumber,

      SummaryTask.TaskProcessingStatus as ProjectProcessingStatus,

      SummaryTask.PriorityCode,

      @Semantics.user.createdBy: true
      SummaryTask.CreatedByUser,
      //@Semantics.systemDateTime.createdAt: true

      SummaryTask.CreationDateTime,
      @Semantics.user.lastChangedBy: true
      SummaryTask.LastChangedByUser,
      //@Semantics.systemDateTime.lastChangedAt: true

      SummaryTask.LastChangeDateTime,
       //2102 Ent Project Multiple SO item indicator

      SummaryTask.EntProjIsMultiSlsOrdItmsEnbld,
    // SummaryTask.TaskTemplateUUID as TaskTemplateUUID,


      @Consumption.hidden: true
      _AuthUser,
      @Consumption.hidden: true
      _AuthSubst,
      @Consumption.hidden: true
      _AuthRole,
      @Consumption.hidden: true
      _AuthGroup,

      // when using the association to _Task or _Phase via project root, we need to carry the ProjectRootUUID everywhere, for this reason, I did introduce

      // a new association to I_PPM_Task

      //    ProjectRoot.ProjectRootUUID,

      _Task,
      _Phase,



      SummaryTask._CreatedByUser,
      SummaryTask._LastChangedByUser,

      ProjectRoot._ProjectLastChangedByUser,

      SummaryTask._Text                as _ProjectName,

      _ProjectType,
      _ProjectTypeName,

      _Portfolio,

      ProjectRoot._I_Project,
      _ProjObjRoot,
      SummaryTask._Priority,
      _PriorityText

}
where
  SummaryTask.ObjectType = 'DPO'