I_PPM_TASK

CDS View

Task data

I_PPM_TASK is a CDS View in S/4HANA. Task data. It contains 59 fields. 28 CDS views read from this table.

CDS Views using this table (28)

ViewTypeJoinVDMDescription
C_CreditMemoReqItemWBSElmntVH view_entity inner CONSUMPTION CMR WBS Element By ExternalID
C_EntProjectElementVH view from CONSUMPTION Enterprise Project Elements Value Help
C_SlsDocItemWBSElementVH view inner CONSUMPTION WBSElement By ExternalID
I_EntProjACLByUserRoleRead view from BASIC Permitted Access by UserRole-ACL with read
I_EntProjACLByUserSubstitRead view from BASIC Permitted Access by Subsitution-ACL with read
I_EntProjectLongText view from BASIC Enterprise Project Description
I_EntProjElmntLongText view from BASIC Enterprise Project Element Description
I_PPM_LastUsedProject view left_outer COMPOSITE Display Last Used Projects
I_PPM_MeAsSubstituteProjects view left_outer COMPOSITE My Projects - As a Substitute
I_PPM_MostCriticalProject view left_outer COMPOSITE My Projects - Critical
I_PPM_ProjectCopilot view left_outer COMPOSITE Project header info for Copilot
I_PPM_ProjectElementProgress view from COMPOSITE Project Elements Progress
I_PPM_ProjectMilestEssent view inner COMPOSITE UUID of essential milestone of proj.
I_PPM_ProjectMilestRelNext view inner COMPOSITE UUID of next relevant milestone of proj.
I_PPM_ProjectPhaseCurrent view inner COMPOSITE UUID of next project phase
I_PPM_ProjectRole view left_outer BASIC Project Role
I_PPM_ProjectSummaryTask view from COMPOSITE Project, Projecttemplate or snapshot
I_PPM_ProjectTask view from COMPOSITE Milestone Information
I_PPM_ProjectTaskJVA view from COMPOSITE Extension fields for Joint Venture Accounting on Task level
I_PPM_ProjectTaskPublicSector view from COMPOSITE Extension fields for PSM on Task level
I_PPM_TaskText view from BASIC Language dependent Texts for PPM tasks
I_PPM_UpcMilestonesProjects view from COMPOSITE Upcoming Milestones for Projects
I_ProjectDemandCount view from COMPOSITE Material and Service demand count for work package
P_PPM_ObjectSeverityValues view from COMPOSITE Retrieve severity for task, project, ... from database
P_PPM_ProjectMilestEssentDate view from COMPOSITE Date of essential milestone of proj.
P_PPM_ProjectMilestRelNextDate view from COMPOSITE Date of next relevant milestone of proj.
P_PPM_ProjectPhaseCurrentDate view from COMPOSITE Date of current project phase
P_PPM_ProjectPhaseCurrentDates view inner COMPOSITE Date and Sorting Number of current project phase

Fields (59)

KeyField CDS FieldsUsed in Views
KEY ProjectUUID ProjectUUID 15
KEY TaskUUID ActiveTaskUUID,MilestoneUUID,ProjectSummaryTaskUUID,ReferencedObjectUUID,TaskUUID 10
_AuthGroup _AuthGroup 1
_AuthRole _AuthRole 1
_AuthSubst _AuthSubst 1
_AuthUser _AuthUser 1
_CreatedByUser _CreatedByUser 1
_I_Project _I_Project 2
_LastChangedByUser _LastChangedByUser 1
_Priority _Priority 1
_ProjObj _ProjObj 2
_Text _ProjectName 1
ActualFinishDate ActualFinishDate,ActualFinishDateTime 2
ActualFinishDateTime ActualFinishDateTime 1
ActualStartDate ActualStartDate 1
ActualStartDateTime ActualStartDateTime 1
CreatedByUser CreatedByUser 3
CreationDateTime CreationDateTime 3
DurationUnit DurationUnit 2
EarliestFinishDate EarliestFinishDate 1
EarliestFinishDateTime EarliestFinishDateTime 1
EarliestStartDate EarliestStartDate 1
EarliestStartDateTime EarliestStartDateTime 1
EntProjIsMultiSlsOrdItmsEnbld EntProjIsMultiSlsOrdItmsEnbld 2
ExternalId CurrentPhase,ExternalId,NextMilestone,Project,Task 5
FactoryCalendar FactoryCalendar 1
FinishConstraintDate FinishConstraintDate 1
FinishConstraintDateTime FinishConstraintDateTime 1
FinishConstraintType FinishConstraintType,ProjectFinishConstraintType 2
ForecastedFinishDate ForecastedEndDate,ForecastedFinishDate,ForecastedFinishDateTime 2
ForecastedFinishDateTime ForecastedFinishDateTime 1
ForecastedStartDate ForecastedStartDate 1
ForecastedStartDateTime ForecastedStartDateTime 1
IsProjectMilestone IsProjectMilestone 2
LastChangeDateTime LastChangeDateTime 3
LastChangedByUser LastChangedByUser 3
LatestFinishDate CurrentPhaseEndDate,LatestFinishDate,LatestFinishDateTime,LaunchDate,NextMilestoneDate 5
LatestFinishDateTime LatestFinishDateTime 1
LatestStartDate LatestStartDate,LatestStartDateTime 2
LatestStartDateTime LatestStartDateTime 2
MilestoneApprovalStatus MilestoneApprovalStatus 1
ObjectType ObjectType 2
PercentageOfCompletion PercentageOfCompletion 1
PriorityCode PriorityCode 1
ProjectElementDuration ProjectElementDuration 2
ProjectInternalID ProjectInternalID 2
ProjectVersionNumber ProjectVersionNumber 1
ReleaseDateTime ReleaseDateTime 1
RemainingWorkExtQuantityUnit RemainingWorkExtQuantityUnit 1
RemainingWorkQuantityInSeconds RemainingWorkQuantityInSeconds 1
SortingNumber SortingNumber 1
StartConstraintDate StartConstraintDate 1
StartConstraintDateTime StartConstraintDateTime 1
StartConstraintType StartConstraintType 2
TaskName CurrentPhaseNameMasterLanguage,MilestoneName,NextMilestoneName,NextMilestoneNameMasterLang,ObjectNameMasterLanguage,ProjectName,TaskName 6
TaskProcessingStatus ProcessingStatus,ProjectProcessingStatus 3
TaskTemplateUUID TaskTemplateUUID 1
TaskType ProjectType,TaskType 3
WBSElementInternalID WBSElementInternalID 4
@VDM.lifecycle: {
  status: #DEPRECATED,
  successor: 'R_EnterpriseProjectElement'
}
@EndUserText.label: 'Task data'

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

@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED

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

@ObjectModel: {
   semanticKey:       [ 'ExternalId' ],
   representativeKey: 'TaskUUID',
   usageType: {
     serviceQuality:  #C,
     dataClass:       #MASTER,
     sizeCategory:    #XL
   }
}

define view I_PPM_Task
  as select from /s4ppm/task                 as ProjectTask
  // associations to authorization views

    association [0..*] to I_PPM_AuthznByUsrH        as _AuthUser
            on      _AuthUser.ReferencedObjectUUID   = $projection.TaskUUID
             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.TaskUUID
             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.TaskUUID
             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.TaskUUID
             and    _AuthGroup.UserID                = $session.user
             and (  _AuthGroup.Activity = 'Admin'    or _AuthGroup.Activity = 'Write'     or _AuthGroup.Activity = 'Read' )    
// PS Project

  association [0..1] to I_ProjectBasicData as _I_Project
          on   ( _I_Project.ProjectInternalID       = $projection.ProjectInternalID )
// PS WBS Element

  association [0..1] to I_WBSElementBasicData as _ProjObj
          on   ( _ProjObj.WBSElementInternalID      = $projection.WBSElementInternalID )    
          
  association [1..1] to I_PPM_ProjectRoot               as _ProjectRoot                    on $projection.ProjectUUID = _ProjectRoot.ProjectUUID
  association [1..1] to I_PPM_ProjectSummaryTask        as _Project                        on $projection.ProjectUUID = _Project.ProjectUUID
  association [0..1] to I_PPM_User                      as _CreatedByUser                  on $projection.CreatedByUser = _CreatedByUser.UserID
  association [0..1] to I_PPM_User                      as _LastChangedByUser              on $projection.LastChangedByUser = _LastChangedByUser.UserID
  association [0..*] to I_PPM_Text                      as _Text                           on $projection.TaskUUID = _Text.ReferencedObjectUUID
  association [0..1] to I_PPM_TaskText                  as _TaskText                       on $projection.TaskUUID = _TaskText.TaskUUID
  association [0..1] to I_PPM_ObjectSeverity            as _Severity                       on $projection.TaskUUID = _Severity.ReferencedObjectUUID
  association [0..1] to I_PPM_ProcessingStatus          as _ProcessingStatus               on $projection.TaskProcessingStatus = _ProcessingStatus.ProcessingStatus
  association [0..1] to I_PPM_Priority                  as _Priority                       on $projection.PriorityCode = _Priority.PriorityCode
  association [0..*] to I_PPM_PriorityText              as _PriorityText                   on $projection.PriorityCode = _PriorityText.PriorityCode    
  association [1..1] to I_PPM_MilestoneApprovalStatus   as _MilestoneApprovalStatus        on $projection.MilestoneApprovalStatus = _MilestoneApprovalStatus.MilestoneApprovalStatus
  association [0..*] to I_PPM_MilestoneApprovalStsText  as _MilestoneApprovalStatusText    on $projection.MilestoneApprovalStatus = _MilestoneApprovalStatusText.MilestoneApprovalStatus
  association [0..1] to I_Currency                      as _ManualCostRateCurrency         on $projection.ManualCostRateCurrency = _ManualCostRateCurrency.Currency
  association [0..1] to I_Currency                      as _ManualRevenueRateCurrency      on $projection.ManualRevenueRateCurrency = _ManualRevenueRateCurrency.Currency
  association [0..1] to I_UnitOfMeasure                 as _DurationUnit                   on $projection.DurationUnit = _DurationUnit.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure                 as _RemainingWorkExtQuantityUnit   on $projection.RemainingWorkExtQuantityUnit = _RemainingWorkExtQuantityUnit.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure                 as _ActlWorkExternalQuantityUnit   on $projection.ActualWorkExternalQuantityUnit = _ActlWorkExternalQuantityUnit.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure                 as _PlannedWorkQuantityUnit        on $projection.PlannedWorkQuantityUnit = _PlannedWorkQuantityUnit.UnitOfMeasure 

{
  key ProjectTask.guid             as TaskUUID,
      @ObjectModel.text.element: ['TaskName']
      ProjectTask.external_id      as ExternalId,
      @Semantics.text: true
      ProjectTask.name             as TaskName,         // task description in project masterLanguage  

      ProjectTask.object_type      as ObjectType,
      ProjectTask.version_number   as ProjectVersionNumber,
      ProjectTask.proc_status_own  as TaskProcessingStatus,
      ProjectTask.proc_status_sup  as TaskParentProcessingStatus,
      ProjectTask.sort_number      as SortingNumber,
      @ObjectModel.foreignKey.association: '_ProjectRoot'
      ProjectTask.project_guid     as ProjectUUID,
      _ProjectRoot.ProjectInternalID as ProjectInternalID,
      ProjectTask.milestone        as IsProjectMilestone,
      @ObjectModel.foreignKey.association: '_Priority'
      @ObjectModel.text.association: '_PriorityText'      
      ProjectTask.priority         as PriorityCode,
      ProjectTask.task_type        as TaskType,
      ProjectTask.summary_task     as IsSummaryTask,
      ProjectTask.app_relevant     as IsApprovalRelevant,
      //    ProjectTask.process as ProjectElementProcess,

      ProjectTask.calendar_id      as FactoryCalendar,
      //    @Semantics.business

//      @Semantics.businessDate.from: true

      ProjectTask.planstart        as EarliestStartDateTime,
      ProjectTask.planstart_date   as EarliestStartDate,
//      @Semantics.businessDate.to: true

      ProjectTask.planfinish       as EarliestFinishDateTime,
      ProjectTask.planfinish_date  as EarliestFinishDate,
      
      ProjectTask.constraint_type  as StartConstraintType,
//      @Semantics.businessDate.at: true

      ProjectTask.constraint_time  as StartConstraintDateTime,
      ProjectTask.constraint_start_date as StartConstraintDate,
      ProjectTask.constr_type_fin  as FinishConstraintType,
//      @Semantics.businessDate.at: true

      ProjectTask.constr_time_fin  as FinishConstraintDateTime,
      ProjectTask.constraint_end_date   as FinishConstraintDate, 
      
//      @Semantics.businessDate.from: true

      ProjectTask.actualstart      as ActualStartDateTime,
      ProjectTask.actualstart_date as ActualStartDate,
//      @Semantics.businessDate.to: true

      ProjectTask.actualfinish     as ActualFinishDateTime,
      ProjectTask.actualfinish_date as ActualFinishDate,
      
      
      
//      @Semantics.businessDate.from: true

      ProjectTask.latest_start     as LatestStartDateTime,
      ProjectTask.latest_start_date as LatestStartDate,
//      @Semantics.businessDate.to: true

      ProjectTask.latest_finish    as LatestFinishDateTime,
      ProjectTask.latest_finish_date as LatestFinishDate,
      
//      @Semantics.businessDate.from: true

      ProjectTask.forecast_start   as ForecastedStartDateTime,
      ProjectTask.forecast_start_date as ForecastedStartDate,
//      @Semantics.businessDate.to: true

      ProjectTask.forecast_finish  as ForecastedFinishDateTime,
      ProjectTask.forecast_finish_date  as ForecastedFinishDate,
      
      ProjectTask.duration         as ProjectElementDuration,
      ProjectTask.duration_unit    as DurationUnit,
      ProjectTask.total_float      as TotalFloat,
      ProjectTask.completion       as PercentageOfCompletion,
       @Semantics.quantity.unitOfMeasure:'PlannedWorkQuantityUnit'
      ProjectTask.rem_work_effort  as RemainingWorkQuantityInSeconds,
      @Semantics.unitOfMeasure: true
      ProjectTask.rem_wrk_unit_ext as RemainingWorkExtQuantityUnit,
      ProjectTask.flg_man_rem_work as IsManualRemainingWorkEnabled,
       @Semantics.quantity.unitOfMeasure:'PlannedWorkQuantityUnit'
      ProjectTask.act_work_effort  as ActualWorkQuantityInSeconds,
      @Semantics.unitOfMeasure: true
      ProjectTask.act_wrk_unit_ext as ActualWorkExternalQuantityUnit,
      @Semantics.quantity.unitOfMeasure: 'PlannedWorkQuantityUnit'
      @DefaultAggregation:#NONE
      ProjectTask.work_effort      as PlannedWorkQuantity,
      @Semantics.unitOfMeasure: true
      ProjectTask.work_unit        as PlannedWorkQuantityUnit,
      //    ProjectTask.canc_rem_work as RemainingWorkBeforeTaskCancel,

      //    ProjectTask.conf_guid as ConfirmationDocumentUUID,

      ProjectTask.mirrored_task    as IsMirroredTask,
      //    ProjectTask.grouping as ProjectElementGrouping,

      //    ProjectTask.search_field as ProjectElementSearchField,

      @Semantics.businessDate.at: true
      ProjectTask.released_on      as ReleaseDateTime,
      ProjectTask.reschedule       as IsReschedulingRequired,
      ProjectTask.schedule_ind     as SchedulingStatus,
      ProjectTask.sched_behaviour  as SchedulingBehavior,
      ProjectTask.stat_profile_tsk as StatusProfile,
      ProjectTask.rate             as CostRevenueRateCode,
      @Semantics.amount.currencyCode: 'ManualRevenueRateCurrency'
      @DefaultAggregation:#NONE
      ProjectTask.revenue_rate     as ManualRevenueRate,
      @Semantics.currencyCode: true
      ProjectTask.currency         as ManualRevenueRateCurrency,
      @Semantics.amount.currencyCode: 'ManualCostRateCurrency'
      @DefaultAggregation:#NONE
      ProjectTask.cost_rate        as ManualCostRate,
      @Semantics.currencyCode: true
      ProjectTask.currency_cost    as ManualCostRateCurrency,
      //    ProjectTask.time_unit as TimeUnit,

      //    ProjectTask.obligatory as IsObligatory,

      // PS Data

      cast ( ProjectTask.pspnr as ps_s4_pspnr preserving type )            as WBSElementInternalID,
      // Admin data

      @Semantics.user.createdBy: true
      @ObjectModel.foreignKey.association: '_CreatedByUser'
      ProjectTask.created_by       as CreatedByUser,
      //@Semantics.systemDateTime.createdAt: true

      ProjectTask.created_on       as CreationDateTime,
      @Semantics.user.lastChangedBy: true
      @ObjectModel.foreignKey.association: '_LastChangedByUser'
      ProjectTask.changed_by       as LastChangedByUser,
      //@Semantics.systemDateTime.lastChangedAt: true

      ProjectTask.changed_on       as LastChangeDateTime,
      @ObjectModel.foreignKey.association: '_MilestoneApprovalStatus'
      @ObjectModel.text.association: '_MilestoneApprovalStatusText'
      ProjectTask.mlstn_apprvl_status as MilestoneApprovalStatus,
      ProjectTask.template_guid   as TaskTemplateUUID, // Temlate Guid for pOc CopyProject 

      //2102 Enterprise project multiple so items

      ProjectTask.multi_soi_enabled as  EntProjIsMultiSlsOrdItmsEnbld,
   

      
      _AuthUser,
      _AuthSubst,
      _AuthRole,
      _AuthGroup,

      _I_Project,
      _ProjObj,
     
      _ProjectRoot,
      _Project,
      _CreatedByUser,
      _LastChangedByUser,
      _Text,
      _TaskText,
      _Severity,
      _ProcessingStatus,
      _Priority,
      _PriorityText,
      _ManualCostRateCurrency,
      _ManualRevenueRateCurrency,
      _DurationUnit,
      _RemainingWorkExtQuantityUnit,
      _ActlWorkExternalQuantityUnit,
      _PlannedWorkQuantityUnit,
      _MilestoneApprovalStatus,
      _MilestoneApprovalStatusText 

}