I_PPM_Task

DDL: I_PPM_TASK Type: view BASIC

Task data

I_PPM_Task is a Basic CDS View that provides data about "Task data" in SAP S/4HANA. It reads from 1 data source (/s4ppm/task) and exposes 88 fields with key field TaskUUID. It has 24 associations to related views.

Data Sources (1)

SourceAliasJoin Type
/s4ppm/task ProjectTask from

Associations (24)

CardinalityTargetAliasCondition
[0..*] I_PPM_AuthznByUsrH _AuthUser _AuthUser.ReferencedObjectUUID = $projection.TaskUUID and _AuthUser.UserID = $session.user and ( _AuthUser.Activity = 'Admin' or _AuthUser.Activity = 'Write' or _AuthUser.Activity = 'Read' )
[0..*] I_PPM_AuthznBySubstitH _AuthSubst _AuthSubst.ReferencedObjectUUID = $projection.TaskUUID and _AuthSubst.UserID = $session.user and ( _AuthSubst.Activity = 'Admin' or _AuthSubst.Activity = 'Write' or _AuthSubst.Activity = 'Read' )
[0..*] I_PPM_AuthznByUserRoleH _AuthRole _AuthRole.ReferencedObjectUUID = $projection.TaskUUID and _AuthRole.UserID = $session.user and ( _AuthRole.Activity = 'Admin' or _AuthRole.Activity = 'Write' or _AuthRole.Activity = 'Read' )
[0..*] I_PPM_AuthznByUsrGrpH _AuthGroup _AuthGroup.ReferencedObjectUUID = $projection.TaskUUID and _AuthGroup.UserID = $session.user and ( _AuthGroup.Activity = 'Admin' or _AuthGroup.Activity = 'Write' or _AuthGroup.Activity = 'Read' )
[0..1] I_ProjectBasicData _I_Project ( _I_Project.ProjectInternalID = $projection.ProjectInternalID )
[0..1] I_WBSElementBasicData _ProjObj ( _ProjObj.WBSElementInternalID = $projection.WBSElementInternalID )
[1..1] I_PPM_ProjectRoot _ProjectRoot $projection.ProjectUUID = _ProjectRoot.ProjectUUID
[1..1] I_PPM_ProjectSummaryTask _Project $projection.ProjectUUID = _Project.ProjectUUID
[0..1] I_PPM_User _CreatedByUser $projection.CreatedByUser = _CreatedByUser.UserID
[0..1] I_PPM_User _LastChangedByUser $projection.LastChangedByUser = _LastChangedByUser.UserID
[0..*] I_PPM_Text _Text $projection.TaskUUID = _Text.ReferencedObjectUUID
[0..1] I_PPM_TaskText _TaskText $projection.TaskUUID = _TaskText.TaskUUID
[0..1] I_PPM_ObjectSeverity _Severity $projection.TaskUUID = _Severity.ReferencedObjectUUID
[0..1] I_PPM_ProcessingStatus _ProcessingStatus $projection.TaskProcessingStatus = _ProcessingStatus.ProcessingStatus
[0..1] I_PPM_Priority _Priority $projection.PriorityCode = _Priority.PriorityCode
[0..*] I_PPM_PriorityText _PriorityText $projection.PriorityCode = _PriorityText.PriorityCode
[1..1] I_PPM_MilestoneApprovalStatus _MilestoneApprovalStatus $projection.MilestoneApprovalStatus = _MilestoneApprovalStatus.MilestoneApprovalStatus
[0..*] I_PPM_MilestoneApprovalStsText _MilestoneApprovalStatusText $projection.MilestoneApprovalStatus = _MilestoneApprovalStatusText.MilestoneApprovalStatus
[0..1] I_Currency _ManualCostRateCurrency $projection.ManualCostRateCurrency = _ManualCostRateCurrency.Currency
[0..1] I_Currency _ManualRevenueRateCurrency $projection.ManualRevenueRateCurrency = _ManualRevenueRateCurrency.Currency
[0..1] I_UnitOfMeasure _DurationUnit $projection.DurationUnit = _DurationUnit.UnitOfMeasure
[0..1] I_UnitOfMeasure _RemainingWorkExtQuantityUnit $projection.RemainingWorkExtQuantityUnit = _RemainingWorkExtQuantityUnit.UnitOfMeasure
[0..1] I_UnitOfMeasure _ActlWorkExternalQuantityUnit $projection.ActualWorkExternalQuantityUnit = _ActlWorkExternalQuantityUnit.UnitOfMeasure
[0..1] I_UnitOfMeasure _PlannedWorkQuantityUnit $projection.PlannedWorkQuantityUnit = _PlannedWorkQuantityUnit.UnitOfMeasure

Annotations (13)

NameValueLevelField
EndUserText.label Task data view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
AbapCatalog.sqlViewName IPPMTASK view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ObjectModel.representativeKey TaskUUID view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.sizeCategory #XL view

Fields (88)

KeyFieldSource TableSource FieldDescription
KEY TaskUUID /s4ppm/task guid
ExternalId /s4ppm/task external_id
TaskName /s4ppm/task name
ObjectType /s4ppm/task object_type
ProjectVersionNumber /s4ppm/task version_number
TaskProcessingStatus /s4ppm/task proc_status_own
TaskParentProcessingStatus /s4ppm/task proc_status_sup
SortingNumber /s4ppm/task sort_number
ProjectUUID /s4ppm/task project_guid
ProjectInternalID _ProjectRoot ProjectInternalID
IsProjectMilestone /s4ppm/task milestone
PriorityCode /s4ppm/task priority
TaskType /s4ppm/task task_type
IsSummaryTask /s4ppm/task summary_task
IsApprovalRelevant /s4ppm/task app_relevant
FactoryCalendar /s4ppm/task calendar_id
EarliestStartDateTime /s4ppm/task planstart
EarliestStartDate /s4ppm/task planstart_date
EarliestFinishDateTime /s4ppm/task planfinish
EarliestFinishDate /s4ppm/task planfinish_date
StartConstraintType /s4ppm/task constraint_type
StartConstraintDateTime /s4ppm/task constraint_time
StartConstraintDate /s4ppm/task constraint_start_date
FinishConstraintType /s4ppm/task constr_type_fin
FinishConstraintDateTime /s4ppm/task constr_time_fin
FinishConstraintDate /s4ppm/task constraint_end_date
ActualStartDateTime /s4ppm/task actualstart
ActualStartDate /s4ppm/task actualstart_date
ActualFinishDateTime /s4ppm/task actualfinish
ActualFinishDate /s4ppm/task actualfinish_date
LatestStartDateTime /s4ppm/task latest_start
LatestStartDate /s4ppm/task latest_start_date
LatestFinishDateTime /s4ppm/task latest_finish
LatestFinishDate /s4ppm/task latest_finish_date
ProjectElementDuration /s4ppm/task duration
DurationUnit /s4ppm/task duration_unit
TotalFloat /s4ppm/task total_float
PercentageOfCompletion /s4ppm/task completion
RemainingWorkQuantityInSeconds /s4ppm/task rem_work_effort
RemainingWorkExtQuantityUnit /s4ppm/task rem_wrk_unit_ext
IsManualRemainingWorkEnabled /s4ppm/task flg_man_rem_work
ActualWorkQuantityInSeconds /s4ppm/task act_work_effort
ActualWorkExternalQuantityUnit /s4ppm/task act_wrk_unit_ext
PlannedWorkQuantity /s4ppm/task work_effort
PlannedWorkQuantityUnit /s4ppm/task work_unit
IsMirroredTask /s4ppm/task mirrored_task
ReleaseDateTime /s4ppm/task released_on
IsReschedulingRequired /s4ppm/task reschedule
SchedulingStatus /s4ppm/task schedule_ind
SchedulingBehavior /s4ppm/task sched_behaviour
StatusProfile /s4ppm/task stat_profile_tsk
CostRevenueRateCode /s4ppm/task rate
ManualRevenueRate /s4ppm/task revenue_rate
ManualRevenueRateCurrency /s4ppm/task currency
ManualCostRate /s4ppm/task cost_rate
ManualCostRateCurrency /s4ppm/task currency_cost
WBSElementInternalID
CreatedByUser /s4ppm/task created_by
CreationDateTime /s4ppm/task created_on
LastChangedByUser /s4ppm/task changed_by
LastChangeDateTime /s4ppm/task changed_on
MilestoneApprovalStatus /s4ppm/task mlstn_apprvl_status
TaskTemplateUUID /s4ppm/task template_guid
EntProjIsMultiSlsOrdItmsEnbld /s4ppm/task multi_soi_enabled
_AuthUser _AuthUser
_AuthSubst _AuthSubst
_AuthRole _AuthRole
_AuthGroup _AuthGroup
_I_Project _I_Project
_ProjObj _ProjObj
_ProjectRoot _ProjectRoot
_Project _Project
_CreatedByUser _CreatedByUser
_LastChangedByUser _LastChangedByUser
_Text _Text
_TaskText _TaskText
_Severity _Severity
_ProcessingStatus _ProcessingStatus
_Priority _Priority
_PriorityText _PriorityText
_ManualCostRateCurrency _ManualCostRateCurrency
_ManualRevenueRateCurrency _ManualRevenueRateCurrency
_DurationUnit _DurationUnit
_RemainingWorkExtQuantityUnit _RemainingWorkExtQuantityUnit
_ActlWorkExternalQuantityUnit _ActlWorkExternalQuantityUnit
_PlannedWorkQuantityUnit _PlannedWorkQuantityUnit
_MilestoneApprovalStatus _MilestoneApprovalStatus
_MilestoneApprovalStatusText _MilestoneApprovalStatusText
@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 

}                               
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 /*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PPM_PROJECTROOT",
"/S4PPM/TASK"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH",
"I_PPM_MILESTONEAPPROVALSTATUS",
"I_PPM_MILESTONEAPPROVALSTSTEXT",
"I_PPM_OBJECTSEVERITY",
"I_PPM_PRIORITY",
"I_PPM_PRIORITYTEXT",
"I_PPM_PROCESSINGSTATUS",
"I_PPM_PROJECTROOT",
"I_PPM_PROJECTSUMMARYTASK",
"I_PPM_TASKTEXT",
"I_PPM_TEXT",
"I_PPM_USER",
"I_PROJECTBASICDATA",
"I_UNITOFMEASURE",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/