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 55 fields. 35 CDS views read from this table.

CDS Views using this table (35)

ViewTypeJoinVDMDescription
C_PPM_MyActvProjectsCostTable view from CONSUMPTION My Projects - Cost Table (OVP)
C_ProjectFinCtrlrOvw view left_outer CONSUMPTION Project Financial Controller Overview
D_EnterpriseProjActSetProcgSts view from Enterprise Proj API Actn Set Processing Status
I_AccountAssignmentWBSElmntVH view inner COMPOSITE Account Assignment WBS Elmnt Value Help
I_BlockFuncForEntProject view from COMPOSITE Basic view for block function calculation
I_DfsEnterpriseProject view from COMPOSITE Defence Enterprise Projects
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_EnterpriseProjectVH view from COMPOSITE Enterprise Project value help
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_MyActvProjectsStsArea view inner COMPOSITE My Projects - Active: Status Area
I_PPM_MyChecklistItem view inner COMPOSITE Returns My Checklist Items
I_PPM_Myplannedprojects view from COMPOSITE My Projects – Planned
I_PPM_MyTask view inner COMPOSITE My Tasks
I_PPM_ObjectPageChecklistItem view left_outer COMPOSITE Determines Checklist Items
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_ProjectElement view left_outer COMPOSITE Project Element
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_SingleResponsibleForProj view inner COMPOSITE Returns the calculated single responsible for a project
I_PPM_UpcMilestonesProjects view inner COMPOSITE Upcoming Milestones for Projects
P_ActvPROJECTSWITHPROJCAT6 view inner COMPOSITE
P_PPM_Project view from COMPOSITE
P_PPM_ProjectList view from COMPOSITE
P_PPM_Prstcm_ProjData view from CONSUMPTION
P_PPM_PrStCmrProjByKeyFigures view from COMPOSITE
P_ProjectsWithProjCat6 view inner COMPOSITE
P_PROJWITHPROJCAT6 view from COMPOSITE

Fields (55)

KeyField CDS FieldsUsed in Views
KEY ProjectInternalID ProjectInternalID 12
KEY ProjectSummaryTaskUUID ParentObjectUUID,ProjectSummaryTaskUUID 23
KEY ProjectUUID ProjectUUID 21
_AuthGroup _AuthGroup 11
_AuthRole _AuthRole 11
_AuthSubst _AuthSubst 11
_AuthUser _AuthUser 11
_CreatedByUser _CreatedByUser 1
_I_Project _I_Project 2
_PriorityText _PriorityText 1
_ProjectLastChangedByUser _ProjectLastChangedByUser 1
_ProjectType _ProjectType 1
_ProjectTypeName _ProjectTypeName 1
_ProjObjRoot _ProjObjRoot 7
ActualFinishDate ActualEndDate 1
ActualFinishDateTime ActualFinishDateTime 1
ActualStartDate ActualStartDate 1
ActualStartDateTime ActualStartDateTime 1
CreatedByUser CreatedByUser 3
CreationDateTime CreationDateTime 3
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 6
OrganizationalUnit OrganizationalUnit 2
OrganizationalUnitObjectType OrganizationalUnitObjectType 2
PlanVersion PlanVersion 2
PriorityCode PriorityCode 5
Project Project 12
ProjectCategory ProjectCategory 6
ProjectEarliestOrLatest ProjectEarliestOrLatest 1
ProjectElementDuration ProjectElementDuration 2
ProjectLastChangedByUser LastChangedByUser,ProjectLastChangedByUser 3
ProjectLastChangedDateTime LastChangeDateTime,ProjectLastChangedDateTime 3
ProjectLocation ProjectLocation 1
ProjectName ProjectName,ProjectNameMasterLanguage 9
ProjectProcessingStatus ProcessingStatus,ProjectProcessingStatus 8
ProjectReasonCode ProjectReasonCode 1
ProjectTemplateUUID ProjectTemplateUUID 1
ProjectType ProjectType 4
ProjectVersionNumber ProjectVersionNumber 2
ReleaseDateTime ReleaseDateTime 1
StartConstraintDateTime StartConstraintDateTime 1
WBSElementInternalID WBSElementInternalID 12
@EndUserText.label: 'Project, Projecttemplate or snapshot'

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

@AccessControl: {
    authorizationCheck: #CHECK,
    privilegedAssociations: [ 'I_PPM_ProjectType', 'I_PPM_ProTypeText' ],
    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'