I_PPM_ProjectElementProgress
Project Elements Progress
I_PPM_ProjectElementProgress is a Composite CDS View that provides data about "Project Elements Progress" in SAP S/4HANA. It reads from 5 data sources (I_EPPMGlobalSetting, I_EnterpriseProjElmntHier, I_PPM_Task, I_PPM_TaskText, I_PPM_Tasktype) and exposes 48 fields with key field TaskUUID. It has 3 associations to related views.
Data Sources (5)
| Source | Alias | Join Type |
|---|---|---|
| I_EPPMGlobalSetting | _GlobalSetting | left_outer |
| I_EnterpriseProjElmntHier | Hierarchy | left_outer |
| I_PPM_Task | Task | from |
| I_PPM_TaskText | TaskText | left_outer |
| I_PPM_Tasktype | Tasktype | left_outer |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_PPM_SingleResponsibleForObj | _ResponsibleBP | _ResponsibleBP.ReferencedObjectUUID = $projection.TaskUUID |
| [0..1] | I_WBSElementBasicData | _ProjObjRoot | ( _ProjObjRoot.WBSElementInternalID = $projection.WBSElementInternalID ) |
| [0..1] | I_PPM_Project | _Project | _Project.ProjectUUID = Task.ProjectUUID |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Project Elements Progress | view | |
| AbapCatalog.sqlViewName | IPPMPROJELEMPROG | view | |
| VDM.viewType | #COMPOSITE | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.representativeKey | TaskUUID | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view |
Fields (48)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | TaskUUID | I_PPM_Task | TaskUUID | UUID 22 char. |
| ProjectUUID | I_PPM_Task | ProjectUUID | Project UUID | |
| ObjectType | I_PPM_Task | ObjectType | Type | |
| TaskType | I_PPM_Task | TaskType | Task Type | |
| ParentObjectUUID | I_EnterpriseProjElmntHier | ParentObjectUUID | UUID Parent GO | |
| OrdinalNumber | I_EnterpriseProjElmntHier | OrdinalNumber | Sequence Number | |
| HierarchyNodeLevel | I_EnterpriseProjElmntHier | HierarchyNodeLevel | Hierarchy Node Level | |
| ObjectName | I_PPM_TaskText | ObjectName | Object name | |
| IsProjectMilestone | ||||
| IsSummaryTask | ||||
| FactoryCalendar | I_PPM_Task | FactoryCalendar | Factory Calendar | |
| ProcessingStatus | I_PPM_Task | TaskProcessingStatus | Proc. Status | |
| ProcessingStatusText | ||||
| StartConstraintType | I_PPM_Task | StartConstraintType | Restriction | |
| FinishConstraintType | I_PPM_Task | FinishConstraintType | Restriction | |
| LatestStartDateTime | I_PPM_Task | LatestStartDate | Latest Planned Start | |
| LatestFinishDateTime | I_PPM_Task | LatestFinishDate | Ltst Planned Finish | |
| ActualFinishDateTime | I_PPM_Task | ActualFinishDate | Actual Finish | |
| IsMainMilestone | I_PPM_Tasktype | IsEssentialMilestone | Main Milestone | |
| ProjectElementDuration | I_PPM_Task | ProjectElementDuration | Tot.Duration in Days | |
| DurationUnit | I_PPM_Task | DurationUnit | Unit | |
| PercentageOfCompletion | I_PPM_Task | PercentageOfCompletion | Percent Completion | |
| RemainingWorkQuantityInSeconds | I_PPM_Task | RemainingWorkQuantityInSeconds | Remaining Work | |
| dec152endasRemainingWorkQuantity | ||||
| RemainingWorkExtQuantityUnit | I_PPM_Task | RemainingWorkExtQuantityUnit | Unit | |
| RemainingWorkQuantityUnitName | ||||
| CreatedByUser | I_PPM_Task | CreatedByUser | User Name | |
| CreationDateTime | I_PPM_Task | CreationDateTime | Timestamp | |
| LastChangedByUser | I_PPM_Task | LastChangedByUser | User Name | |
| LastChangeDateTime | I_PPM_Task | LastChangeDateTime | Timestamp | |
| CriticalityCode | ||||
| SeverityText | ||||
| WBSElementInternalID | I_PPM_Task | WBSElementInternalID | WBS Internal ID | |
| BusinessPartnerUUID | _ResponsibleBP | BusinessPartnerUUID | UUID | |
| BusinessPartnerName | _ResponsibleBP | BusinessPartnerName | Extracted Customer Name | |
| ProjectRoleUUID | _ResponsibleBP | ProjectRoleUUID | Role | |
| EmailAddress | _ResponsibleBP | EmailAddress | E-Mail Address | |
| MobilePhoneNumber | _ResponsibleBP | MobilePhoneNumber | Telephone | |
| AddressPhoneNumber | _ResponsibleBP | AddressPhoneNumber | ||
| ProjectRoleName | _ResponsibleBP | ProjectRoleName | ||
| EPPMSettingsDefaultValue | I_EPPMGlobalSetting | EPPMSettingsDefaultValue | Settings Value | |
| _BusinessUser | _ResponsibleBP | _BusinessUser | ||
| _AuthUser | _AuthUser | |||
| _AuthSubst | _AuthSubst | |||
| _AuthRole | _AuthRole | |||
| _AuthGroup | _AuthGroup | |||
| _ProjObjRoot | _ProjObjRoot | |||
| _Project | _Project |
Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.
-- Derived SQL interpretation of CDS view I_PPM_ProjectElementProgress.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: IPPMPROJELEMPROG
CREATE VIEW I_PPM_ProjectElementProgress AS
SELECT
Task.TaskUUID AS TaskUUID,
Task.ProjectUUID AS ProjectUUID,
Task.ObjectType AS ObjectType,
Task.TaskType AS TaskType,
Hierarchy.ParentObjectUUID AS ParentObjectUUID,
Hierarchy.OrdinalNumber AS OrdinalNumber,
Hierarchy.HierarchyNodeLevel AS HierarchyNodeLevel,
TaskText.ObjectName AS ObjectName,
cast(Task.IsProjectMilestone as boolean) AS IsProjectMilestone,
cast(Task.IsSummaryTask as boolean) AS IsSummaryTask,
Task.FactoryCalendar AS FactoryCalendar,
Task.TaskProcessingStatus AS ProcessingStatus,
Task._ProcessingStatus._Text[1:Language=$session.system_language].ProcessingStatusText AS ProcessingStatusText,
Task.StartConstraintType AS StartConstraintType,
Task.FinishConstraintType AS FinishConstraintType,
Task.LatestStartDate AS LatestStartDateTime,
Task.LatestFinishDate AS LatestFinishDateTime,
Task.ActualFinishDate AS ActualFinishDateTime,
Tasktype.IsEssentialMilestone AS IsMainMilestone,
Task.ProjectElementDuration AS ProjectElementDuration,
Task.DurationUnit AS DurationUnit,
Task.PercentageOfCompletion AS PercentageOfCompletion,
Task.RemainingWorkQuantityInSeconds AS RemainingWorkQuantityInSeconds,
case when Task.ObjectType <> 'DPO' and Task.ObjectType <> 'PPO' and Task.TaskProcessingStatus <> '40' and Task.TaskProcessingStatus <> '41' and Task.TaskProcessingStatus <> '42' then cast(unit_conversion( quantity => Task.RemainingWorkQuantityInSeconds, source_unit => cast( 'S' as abap.unit(3) ), target_unit => Task.RemainingWorkExtQuantityUnit, error_handling => 'KEEP_UNCONVERTED') as abap.dec( 15, 2 ) ) else cast(0 as abap.dec( 15, 2 ) ) end as RemainingWorkQuantity AS dec152endasRemainingWorkQuantity,
Task.RemainingWorkExtQuantityUnit AS RemainingWorkExtQuantityUnit,
Task._RemainingWorkExtQuantityUnit._Text[1:Language=$session.system_language].UnitOfMeasureName AS RemainingWorkQuantityUnitName,
Task.CreatedByUser AS CreatedByUser,
Task.CreationDateTime AS CreationDateTime,
Task.LastChangedByUser AS LastChangedByUser,
Task.LastChangeDateTime AS LastChangeDateTime,
Task._Severity.CriticalityCode AS CriticalityCode,
Task._Severity.SeverityText AS SeverityText,
Task.WBSElementInternalID AS WBSElementInternalID,
_ResponsibleBP.BusinessPartnerUUID AS BusinessPartnerUUID,
_ResponsibleBP.BusinessPartnerName AS BusinessPartnerName,
_ResponsibleBP.ProjectRoleUUID AS ProjectRoleUUID,
_ResponsibleBP.EmailAddress AS EmailAddress,
_ResponsibleBP.MobilePhoneNumber AS MobilePhoneNumber,
_ResponsibleBP.AddressPhoneNumber AS AddressPhoneNumber,
_ResponsibleBP.ProjectRoleName AS ProjectRoleName,
_GlobalSetting.EPPMSettingsDefaultValue AS EPPMSettingsDefaultValue,
_ResponsibleBP._BusinessUser AS _BusinessUser
FROM I_PPM_Task AS Task
LEFT OUTER JOIN I_PPM_Tasktype AS Tasktype ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_EnterpriseProjElmntHier AS Hierarchy ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_PPM_TaskText AS TaskText ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_EPPMGlobalSetting AS _GlobalSetting ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_PPM_SingleResponsibleForObj AS _ResponsibleBP ON _ResponsibleBP.ReferencedObjectUUID = TaskUUID -- association [0..1]
LEFT OUTER JOIN I_WBSElementBasicData AS _ProjObjRoot ON ( _ProjObjRoot.WBSElementInternalID = WBSElementInternalID ) -- association [0..1]
LEFT OUTER JOIN I_PPM_Project AS _Project ON _Project.ProjectUUID = Task.ProjectUUID -- association [0..1]
;
Learn More
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- CDS View Annotations — A Complete Guide
- What Is a CDS View in SAP S/4HANA?
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- 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
- BSEG to ACDOCA: The Universal Journal Migration
- Business Partner Migration: KNA1/LFA1 to BUT000
- Material Document Migration: MSEG/MKPF to MATDOC
- How to Find the Right CDS View for an SAP Table
- BW Extractor to CDS View Migration Guide
- S/4HANA CDS View Deprecation: What You Need to Know
- ABAP CDS View Tutorial — From Basics to Real-World Examples
- RAP and CDS Views — Building Transactional Apps in SAP S/4HANA
- Sales Document Status Migration: VBUP/VBUK Removal in S/4HANA
- CO Tables in S/4HANA: COEP, COBK, COSS, COSP to ACDOCA