I_TaskReadyToStart is a Composite CDS View that provides data about "PPM Project Task Ready To Start" in SAP S/4HANA. It reads from 1 data source (I_PPM_Task) and exposes 2 fields with key field TaskUUID.
@AbapCatalog.sqlViewName: 'TASKREADYTOSTART'
@AbapCatalog.compiler.compareFilter: true@AccessControl.authorizationCheck: #MANDATORY@EndUserText.label: 'PPM Project Task Ready To Start'
@VDM.viewType: #COMPOSITE@ClientHandling.algorithm: #SESSION_VARIABLE@ObjectModel: {
usageType: {
dataClass: #MIXED,
serviceQuality: #C,
sizeCategory: #XL
}
}
/* Specification: 1 record is returned for every task */defineview I_TaskReadyToStart asselectfrom I_PPM_Task as Task
// A task is ready to start if it has no predecessor
leftouter to many join I_SuccessorTaskReadyToStart as SuccessorReadyToWork
on Task.TaskUUID = SuccessorReadyToWork.SuccessorTaskUUID
/* Orwhen defined as successor in relationships, the relation shows that all its predecessors are in states
that enable the start of the successor *//* leftouterjoin P_PPM_TaskNotReadyToStart as SuccessorNotReadyToWork
on Task.TaskUUID = SuccessorNotReadyToWork.SuccessorTaskUUID */
{
key Task.TaskUUID,
Task.ExternalId as Task,
cast ( case// Task has no predeccessors which blocks its start
//when SuccessorNotReadyToWork.SuccessorTaskUUID isnullthenwhen SuccessorReadyToWork.IsTaskReadyToStart = 'X' thencase// check status 'released'
when Task.TaskProcessingStatus = '10' or Task.TaskProcessingStatus = '11' then
'X'
// check status 'blocked'
/* when Task.TaskProcessingStatus = '20' or Task.TaskProcessingStatus = '21' then
' ' */else
' '
endwhen SuccessorReadyToWork.SuccessorTaskUUID isnotnulland SuccessorReadyToWork.IsTaskReadyToStart = ' ' then
' '
when Task.TaskProcessingStatus = '10' or Task.TaskProcessingStatus = '11' then
'X'
else// Task has at least 1 predecessor not ready to start
' '
endas xfeld preserving type ) as IsTaskReadyToStart
}
groupby Task.TaskUUID,
Task.ExternalId,
Task.TaskProcessingStatus,
SuccessorReadyToWork.SuccessorTaskUUID,
SuccessorReadyToWork.IsTaskReadyToStart