I_PPM_MyTask
My Tasks
I_PPM_MyTask is a Composite CDS View that provides data about "My Tasks" in SAP S/4HANA. It reads from 7 data sources and exposes 35 fields with key field TaskUUID. It has 5 associations to related views.
Data Sources (7)
| Source | Alias | Join Type |
|---|---|---|
| I_EPPMGlobalSetting | _GlobalSetting | left_outer |
| P_PPM_DisBusinessPartnerForObj | BusinessPartnerForObject | from |
| I_PPM_ProjectSummaryTask | ProjectSummaryTask | inner |
| I_PPM_Text | ProjectTextUserLang | left_outer |
| I_PPM_Task | Task | inner |
| I_PPM_Text | TaskTextUserLang | left_outer |
| I_PPM_User | User | inner |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_PPM_TaskReadyToStart | _ReadyToStart | _ReadyToStart.TaskUUID = Task.TaskUUID |
| [1..1] | I_Indicator | _ReadyToStartText | $projection.IsTaskReadyToStart = _ReadyToStartText.IndicatorValue |
| [1..1] | I_PPM_TaskText | _ProjectText | _ProjectText.TaskUUID = ProjectSummaryTask.ProjectSummaryTaskUUID |
| [1..1] | I_PPM_TaskText | _TaskText | _TaskText.TaskUUID = Task.TaskUUID |
| [0..1] | I_UnitOfMeasure | _RemainingWorkUnit | _RemainingWorkUnit.UnitOfMeasure = $projection.RemainingWorkExtQuantityUnit |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | My Tasks | view | |
| VDM.viewType | #COMPOSITE | view | |
| AbapCatalog.sqlViewName | IPPMMYTSK | view | |
| AccessControl.authorizationCheck | #PRIVILEGED_ONLY | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.serviceQuality | #X | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.representativeKey | TaskUUID | view | |
| UI.headerInfo.typeName | Project Task | view | |
| UI.headerInfo.typeNamePlural | Project Tasks | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view |
Fields (35)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | TaskUUID | I_PPM_Task | TaskUUID | |
| ExternalId | I_PPM_Task | ExternalId | ||
| ProjectUUID | I_PPM_ProjectSummaryTask | ProjectUUID | ||
| ProjectSummaryTaskUUID | I_PPM_ProjectSummaryTask | ProjectSummaryTaskUUID | ||
| TaskProcessingStatus | I_PPM_Task | TaskProcessingStatus | ||
| CreatedByUser | I_PPM_Task | CreatedByUser | ||
| LastChangedByUser | I_PPM_Task | LastChangedByUser | ||
| MasterLanguage | I_PPM_ProjectSummaryTask | MasterLanguage | ||
| Project | I_PPM_ProjectSummaryTask | Project | ||
| ProjectName | _ProjectText | ObjectName | ||
| TaskName | _TaskText | ObjectName | ||
| ProjectNameUserLanguage | I_PPM_Text | ObjectName | ||
| ProjectNameMasterLanguage | I_PPM_ProjectSummaryTask | ProjectName | ||
| TaskNameUserLanguage | I_PPM_Text | ObjectName | ||
| TaskNameMasterLanguage | I_PPM_Task | TaskName | ||
| LatestFinishDateTime | I_PPM_Task | LatestFinishDate | ||
| LatestStartDateTime | I_PPM_Task | LatestStartDate | ||
| RemainingWorkExtQuantityUnit | I_PPM_Task | RemainingWorkExtQuantityUnit | ||
| IsTaskReadyToStart | _ReadyToStart | IsTaskReadyToStart | ||
| ActualStartDateTime | I_PPM_Task | ActualStartDate | ||
| CriticalityCode | _Severity | CriticalityCode | ||
| Severity | _Severity | Severity | ||
| PriorityCode | ||||
| EPPMSettingsDefaultValue | I_EPPMGlobalSetting | EPPMSettingsDefaultValue | ||
| _CreatedByUser | I_PPM_Task | _CreatedByUser | ||
| _LastChangedByUser | I_PPM_Task | _LastChangedByUser | ||
| _PriorityText | ||||
| _ProcessingStatus | I_PPM_Task | _ProcessingStatus | ||
| _Severity | I_PPM_Task | _Severity | ||
| _SeverityText | ||||
| _ReadyToStart | _ReadyToStart | |||
| _ReadyToStartText | _ReadyToStartText | |||
| _RemainingWorkUnit | _RemainingWorkUnit | |||
| UnitOfMeasure | _RemainingWorkUnit | UnitOfMeasure | ||
| _Text | _RemainingWorkUnit | _Text |
@EndUserText.label: 'My Tasks'
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'IPPMMYTSK'
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.representativeKey: 'TaskUUID'
@UI.headerInfo:{
typeName: 'Project Task',
typeNamePlural: 'Project Tasks'
}
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
define view I_PPM_MyTask
as select from P_PPM_DisBusinessPartnerForObj as BusinessPartnerForObject
inner join I_PPM_Task as Task on Task.TaskUUID = BusinessPartnerForObject.ReferencedObjectUUID
inner join I_PPM_ProjectSummaryTask as ProjectSummaryTask on ProjectSummaryTask.ProjectUUID = Task.ProjectUUID
inner join I_PPM_User as User on User.UserID = $session.user
left outer join I_PPM_Text as ProjectTextUserLang on (
ProjectTextUserLang.LanguageCode = $session.system_language
)
and(
ProjectTextUserLang.ReferencedObjectUUID = ProjectSummaryTask.ProjectSummaryTaskUUID
)
// left outer join I_PPM_Text as ProjectTextMasterLang on (
// ProjectTextMasterLang.LanguageCode = ProjectSummaryTask.MasterLanguage
// )
// and(
// ProjectTextMasterLang.ReferencedObjectUUID = ProjectSummaryTask.ProjectSummaryTaskUUID
// )
left outer join I_PPM_Text as TaskTextUserLang on (
TaskTextUserLang.LanguageCode = $session.system_language
)
and(
TaskTextUserLang.ReferencedObjectUUID = Task.TaskUUID
)
left outer join I_EPPMGlobalSetting as _GlobalSetting on _GlobalSetting.EPPMUsageArea = '0007' and _GlobalSetting.EPPMGlobalSettingsCode = '0053'
// left outer join I_PPM_Text as _TaskTextMasterLang on (
// _TaskTextMasterLang.LanguageCode = ProjectSummaryTask.MasterLanguage
// )
// and(
// _TaskTextMasterLang.ReferencedObjectUUID = Task.TaskUUID
// )
association [1..1] to I_PPM_TaskReadyToStart as _ReadyToStart on _ReadyToStart.TaskUUID = Task.TaskUUID
association [1..1] to I_Indicator as _ReadyToStartText on $projection.IsTaskReadyToStart = _ReadyToStartText.IndicatorValue
association [1..1] to I_PPM_TaskText as _ProjectText on _ProjectText.TaskUUID = ProjectSummaryTask.ProjectSummaryTaskUUID
association [1..1] to I_PPM_TaskText as _TaskText on _TaskText.TaskUUID = Task.TaskUUID
association [0..1] to I_UnitOfMeasure as _RemainingWorkUnit on _RemainingWorkUnit.UnitOfMeasure = $projection.RemainingWorkExtQuantityUnit
{
key Task.TaskUUID as TaskUUID,
Task.ExternalId as ExternalId,
ProjectSummaryTask.ProjectUUID as ProjectUUID,
ProjectSummaryTask.ProjectSummaryTaskUUID as ProjectSummaryTaskUUID,
Task.TaskProcessingStatus as TaskProcessingStatus,
Task.CreatedByUser as CreatedByUser,
Task.LastChangedByUser as LastChangedByUser,
ProjectSummaryTask.MasterLanguage as MasterLanguage,
ProjectSummaryTask.Project as Project,
_ProjectText.ObjectName as ProjectName,
_TaskText.ObjectName as TaskName,
ProjectTextUserLang.ObjectName as ProjectNameUserLanguage,
ProjectSummaryTask.ProjectName as ProjectNameMasterLanguage,
TaskTextUserLang.ObjectName as TaskNameUserLanguage,
Task.TaskName as TaskNameMasterLanguage,
Task.LatestFinishDate as LatestFinishDateTime, // this is wrong in C_PPM_MyTask!
Task.LatestStartDate as LatestStartDateTime, // this is wrong in C_PPM_MyTask!
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'RemainingWorkExtQuantityUnit'
// no cast accroding to DB-Tools, gicers ATC error, so hope the best
// cast(
unit_conversion(
quantity => Task.RemainingWorkQuantityInSeconds,
source_unit => cast('S' as abap.unit( 3 ) ),
target_unit => Task.RemainingWorkExtQuantityUnit,
error_handling => 'KEEP_UNCONVERTED' ) as RemainingWorkQuantity,
// as abap.quan( 16, 2 ) ) as RemainingWorkQuantity,
@Semantics.unitOfMeasure: true
Task.RemainingWorkExtQuantityUnit,
_ReadyToStart.IsTaskReadyToStart as IsTaskReadyToStart,
Task.ActualStartDate as ActualStartDateTime,
_Severity.CriticalityCode,
_Severity.Severity,
Task._Priority.PriorityCode,
_GlobalSetting.EPPMSettingsDefaultValue,
Task._CreatedByUser,
Task._LastChangedByUser,
Task._Priority._Text as _PriorityText,
Task._ProcessingStatus,
Task._Severity,
Task._Severity._SeverityText as _SeverityText,
_ReadyToStart,
_ReadyToStartText,
_RemainingWorkUnit,
_RemainingWorkUnit.UnitOfMeasure,
_RemainingWorkUnit._Text
}
where
BusinessPartnerForObject.BusinessPartnerUUID = User.BusinessPartnerUUID
and(
Task.ObjectType = 'TPO'
or Task.ObjectType = 'TTO'
)
and(
Task.EarliestStartDateTime >= 0
and Task.EarliestFinishDateTime >= 0
)
and Task.ProjectVersionNumber = ' '
and Task.IsProjectMilestone <> 'X'
and Task.TaskParentProcessingStatus <> '21' // note_3328626
and Task.TaskParentProcessingStatus <> '41' // note_3385440
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA