I_PPM_ProjectTask
Milestone Information
I_PPM_ProjectTask is a Composite CDS View that provides data about "Milestone Information" in SAP S/4HANA. It reads from 4 data sources (I_PPM_StdTaskHierarchyData, I_PPM_Task, I_PPM_Tasktype, I_WBSElementBasicData) and exposes 68 fields with key field TaskUUID. It has 2 associations to related views.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| I_PPM_StdTaskHierarchyData | HierarchyData | left_outer |
| I_PPM_Task | Task | from |
| I_PPM_Tasktype | tasktype | left_outer |
| I_WBSElementBasicData | WBSElemBasicData | left_outer |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_WBSElementBasicData | _ProjObjRoot | ( _ProjObjRoot.WBSElementInternalID = $projection.WBSElementInternalID ) |
| [1..1] | I_PPM_Project | _Root | $projection.ProjectUUID = _Root.ProjectUUID |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IPPMPROJTASK | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.viewType | #COMPOSITE | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.representativeKey | TaskUUID | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| EndUserText.label | Milestone Information | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view |
Fields (68)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | TaskUUID | I_PPM_Task | TaskUUID | |
| ExternalId | I_PPM_Task | ExternalId | ||
| Task | I_PPM_Task | ExternalId | ||
| ProjectUUID | I_PPM_Task | ProjectUUID | ||
| ProjectInternalID | I_PPM_Task | ProjectInternalID | ||
| WBSElementInternalID | ||||
| MilestoneName | I_PPM_Task | TaskName | ||
| TaskName | I_PPM_Task | TaskName | ||
| TaskType | I_PPM_Task | TaskType | ||
| ProcessingStatus | I_PPM_Task | TaskProcessingStatus | ||
| ObjectType | I_PPM_Task | ObjectType | ||
| SortingNumber | I_PPM_Task | SortingNumber | ||
| TaskTemplateUUID | I_PPM_Task | TaskTemplateUUID | ||
| EntProjIsMultiSlsOrdItmsEnbld | I_PPM_Task | EntProjIsMultiSlsOrdItmsEnbld | ||
| ParentObjectUUID | I_PPM_StdTaskHierarchyData | ParentObjectUUID | ||
| WBSElement | I_WBSElementBasicData | WBSElement | ||
| WBSDescription | I_WBSElementBasicData | WBSDescription | ||
| CompanyCode | I_WBSElementBasicData | CompanyCode | ||
| ControllingArea | I_WBSElementBasicData | ControllingArea | ||
| FunctionalArea | I_WBSElementBasicData | FunctionalArea | ||
| ProfitCenter | I_WBSElementBasicData | ProfitCenter | ||
| ResponsibleCostCenter | I_WBSElementBasicData | ResponsibleCostCenter | ||
| Plant | I_WBSElementBasicData | Plant | ||
| FactoryCalendar | I_WBSElementBasicData | FactoryCalendar | ||
| CostingSheet | I_WBSElementBasicData | CostingSheet | ||
| CostCenter | I_WBSElementBasicData | CostCenter | ||
| InvestmentProfile | I_WBSElementBasicData | InvestmentProfile | ||
| WBSIsStatisticalWBSElement | I_WBSElementBasicData | WBSIsStatisticalWBSElement | ||
| Location | I_WBSElementBasicData | Location | ||
| TaxJurisdiction | I_WBSElementBasicData | TaxJurisdiction | ||
| FunctionalLocation | I_WBSElementBasicData | FunctionalLocation | ||
| WBSElementIsBillingElement | I_WBSElementBasicData | WBSElementIsBillingElement | ||
| EntProjectSettlementElement | I_WBSElementBasicData | EntProjectSettlementElement | ||
| EntProjIsSettlmtRuleInherited | I_WBSElementBasicData | EntProjIsSettlmtRuleInherited | ||
| ResultAnalysisInternalID | I_WBSElementBasicData | ResultAnalysisInternalID | ||
| PlannedStartDate | LatestStartDate | |||
| PlannedEndDate | LatestFinishDate | |||
| ActualStartDate | ActualStartDate | |||
| ActualEndDate | ActualFinishDate | |||
| MilestoneApprovalStatus | I_PPM_Task | MilestoneApprovalStatus | ||
| IsMainMilestone | I_PPM_Tasktype | IsEssentialMilestone | ||
| IsProjectMilestone | I_PPM_Task | IsProjectMilestone | ||
| ActiveTaskUUID | I_PPM_Task | TaskUUID | ||
| CreatedByUser | I_PPM_Task | CreatedByUser | ||
| CreationDateTime | I_PPM_Task | CreationDateTime | ||
| LastChangedByUser | I_PPM_Task | LastChangedByUser | ||
| LastChangeDateTime | I_PPM_Task | LastChangeDateTime | ||
| _Root | ||||
| _AuthUser | _AuthUser | |||
| _AuthSubst | _AuthSubst | |||
| _AuthRole | _AuthRole | |||
| _AuthGroup | _AuthGroup | |||
| _ProjectRoot | _ProjectRoot | |||
| _I_Project | _I_Project | |||
| _ProjObjRoot | _ProjObjRoot | |||
| _MilestoneApprovalStatus | _MilestoneApprovalStatus | |||
| _MilestoneApprovalStatusText | _MilestoneApprovalStatusText | |||
| _CompanyCode | _CompanyCode | |||
| _ControllingArea | _ControllingArea | |||
| _FunctionalArea | _FunctionalArea | |||
| _ProfitCenter | _ProfitCenter | |||
| _Plant | _Plant | |||
| _ResponsibleCostCenter | _ResponsibleCostCenter | |||
| _FactoryCalendar | _FactoryCalendar | |||
| _CostCenter | _CostCenter | |||
| _ProcessingStatus | _ProcessingStatus | |||
| _CreatedByUser | _CreatedByUser | |||
| _LastChangedByUser | _LastChangedByUser |
@AbapCatalog.sqlViewName: 'IPPMPROJTASK'
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType:
{
serviceQuality: #D,
dataClass: #TRANSACTIONAL,
sizeCategory: #L
}
@ObjectModel.representativeKey: 'TaskUUID'
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Milestone Information'
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
define view I_PPM_ProjectTask as select from I_PPM_Task as Task
left outer join I_PPM_Tasktype as tasktype on Task.TaskType = tasktype.TaskType
left outer join I_WBSElementBasicData as WBSElemBasicData on Task.WBSElementInternalID = WBSElemBasicData.WBSElementInternalID
left outer join I_PPM_StdTaskHierarchyData as HierarchyData on Task.TaskUUID = HierarchyData.ReferencedObjectUUID
association [0..1] to I_WBSElementBasicData as _ProjObjRoot
on ( _ProjObjRoot.WBSElementInternalID = $projection.WBSElementInternalID )
// BO composition associations
association [1..1] to I_PPM_Project as _Root on $projection.ProjectUUID = _Root.ProjectUUID
{
key Task.TaskUUID as TaskUUID,
Task.ExternalId as ExternalId, // obsolete will be removed
Task.ExternalId as Task,
Task.ProjectUUID as ProjectUUID,
Task.ProjectInternalID as ProjectInternalID,
cast ( Task.WBSElementInternalID as ps_s4_pspnr preserving type ) as WBSElementInternalID,
Task.TaskName as MilestoneName, // obsolete will be removed
Task.TaskName as TaskName,
Task.TaskType as TaskType,
Task.TaskProcessingStatus as ProcessingStatus,
Task.ObjectType as ObjectType,
Task.SortingNumber as SortingNumber,
Task.TaskTemplateUUID as TaskTemplateUUID,
//2102 Enterprise project multiple so items
Task.EntProjIsMultiSlsOrdItmsEnbld as EntProjIsMultiSlsOrdItmsEnbld,
// Hierarchy
HierarchyData.ParentObjectUUID as ParentObjectUUID,
@ObjectModel.readOnly: true
WBSElemBasicData.WBSElement as WBSElement,
@ObjectModel.readOnly: true
WBSElemBasicData.WBSDescription as WBSDescription,
@ObjectModel.readOnly: true
WBSElemBasicData.CompanyCode as CompanyCode,
@ObjectModel.readOnly: true
WBSElemBasicData.ControllingArea as ControllingArea,
@ObjectModel.readOnly: true
WBSElemBasicData.FunctionalArea as FunctionalArea,
@ObjectModel.readOnly: true
WBSElemBasicData.ProfitCenter as ProfitCenter,
@ObjectModel.readOnly: true
WBSElemBasicData.ResponsibleCostCenter as ResponsibleCostCenter,
@ObjectModel.readOnly: true
WBSElemBasicData.Plant as Plant,
@ObjectModel.readOnly: true
WBSElemBasicData.FactoryCalendar as FactoryCalendar,
@ObjectModel.readOnly: true
WBSElemBasicData.CostingSheet as CostingSheet,
@ObjectModel.readOnly: true
WBSElemBasicData.CostCenter as CostCenter,
@ObjectModel.readOnly: true
WBSElemBasicData.InvestmentProfile as InvestmentProfile,
@ObjectModel.readOnly: true
WBSElemBasicData.WBSIsStatisticalWBSElement as WBSIsStatisticalWBSElement,
@ObjectModel.readOnly: true
WBSElemBasicData.Location,
//Tax Jurisdiction, Functional Location fields
@ObjectModel.readOnly: true
WBSElemBasicData.TaxJurisdiction,
@ObjectModel.readOnly: true
WBSElemBasicData.FunctionalLocation,
// S4H 2002 Billing element indicator
WBSElemBasicData.WBSElementIsBillingElement ,
// CE2208 Hierarchical Settlement Changes
WBSElemBasicData.EntProjectSettlementElement,
WBSElemBasicData.EntProjIsSettlmtRuleInherited,
//result analysis key changes
WBSElemBasicData.ResultAnalysisInternalID,
LatestStartDate as PlannedStartDate,
LatestFinishDate as PlannedEndDate,
ForecastedStartDate as ForecastedStartDate,
ForecastedFinishDate as ForecastedEndDate,
ActualStartDate as ActualStartDate,
ActualFinishDate as ActualEndDate,
Task.MilestoneApprovalStatus as MilestoneApprovalStatus,
tasktype.IsEssentialMilestone as IsMainMilestone,
Task.IsProjectMilestone as IsProjectMilestone,
Task.TaskUUID as ActiveTaskUUID,
Task.CreatedByUser as CreatedByUser,
Task.CreationDateTime as CreationDateTime,
Task.LastChangedByUser as LastChangedByUser,
Task.LastChangeDateTime as LastChangeDateTime,
/* Associations */
--@ObjectModel.association.type: [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
_Root,
// _TaskHierarchy,
_AuthUser,
_AuthSubst,
_AuthRole,
_AuthGroup,
_ProjectRoot,
_I_Project,
_ProjObjRoot,
_MilestoneApprovalStatus,
_MilestoneApprovalStatusText,
_CompanyCode,
_ControllingArea,
_FunctionalArea,
_ProfitCenter,
_Plant,
_ResponsibleCostCenter,
_FactoryCalendar,
_CostCenter,
_ProcessingStatus,
_CreatedByUser,
_LastChangedByUser
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PPM_STDTASKHIERARCHYDATA",
"I_PPM_TASK",
"I_PPM_TASKTYPE",
"I_WBSELEMENTBASICDATA"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_FACTORYCALENDAR",
"I_FUNCTIONALAREA",
"I_PLANT",
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH",
"I_PPM_MILESTONEAPPROVALSTATUS",
"I_PPM_MILESTONEAPPROVALSTSTEXT",
"I_PPM_PROCESSINGSTATUS",
"I_PPM_PROJECT",
"I_PPM_PROJECTROOT",
"I_PPM_USER",
"I_PROFITCENTER",
"I_PROJECTBASICDATA",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[
"I_PPM_TASK",
"I_WBSELEMENTBASICDATA"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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