P_PPM_TaskReadyToStart is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (P_PPM_TaskNotReadyToStart, I_PPM_Task) and exposes 1 field with key field TaskUUID.
@VDM.viewType: #COMPOSITE@VDM.private: true@AbapCatalog.sqlViewName: 'PPPMTSKRDYTOST'
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY@ClientHandling.algorithm: #SESSION_VARIABLE@ObjectModel.usageType.serviceQuality: #X@ObjectModel.usageType.sizeCategory: #L@ObjectModel.usageType.dataClass: #MIXED@ObjectModel.representativeKey: 'TaskUUID'
/* Specification: 1 record is returned for every task */defineview P_PPM_TaskReadyToStart asselectfrom I_PPM_Task as Task
// A task is ready to start if it has no predecessor
/* leftouterjoin P_PPM_SuccessorTskReadyToStart as SuccessorReadyToWork
on Task.TaskUUID = SuccessorReadyToWork.SuccessorTaskUUID
and SuccessorReadyToWork.PredecessorTaskUUID isnull *//* 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,
cast ( case// Task has no predeccessors which blocks its start
when SuccessorNotReadyToWork.SuccessorTaskUUID isnullthen/* when SuccessorReadyToWork.PredecessorTaskExternalId = ' ' then */case// 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
' '
endelse// Task has at least 1 predecessor not ready to start
' '
endas xfeld preserving type ) as IsTaskReadyToStart
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PPM_TASK",
"P_PPM_TASKNOTREADYTOSTART"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/