P_PPM_Project
P_PPM_Project is a Composite CDS View in SAP S/4HANA. It reads from 11 data sources and exposes 94 fields with key fields ProjectUUID, ProjectSummaryTaskUUID. It has 26 associations to related views.
Data Sources (11)
| Source | Alias | Join Type |
|---|---|---|
| I_PPM_TeamMemberIsInRole | I_PPM_TeamMemberIsInRole | left_outer |
| I_PPM_TeamMemberIsInRole | I_PPM_TeamMemberIsInRole | left_outer |
| I_PPM_TeamMemberIsInRole | I_PPM_TeamMemberIsInRole | left_outer |
| I_PPM_IsMyProject | IsMyProject | left_outer |
| I_PPM_IsMyProjectAsSubstitute | IsMyProjectAsSubstitute | left_outer |
| I_PPM_ProjectMilestEssent | MlstnEssential | left_outer |
| I_PPM_ProjectMilestRelNext | MlstnRelevant | left_outer |
| I_PPM_ProjectStatusArea | OverallStatusArea | left_outer |
| I_PPM_ProjectSummaryTask | Project | from |
| I_ProjectBasicData | PS_Project | left_outer |
| I_WBSElementBasicData | PS_RootWBS | left_outer |
Associations (26)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_PPM_SingleResponsibleForProj | Responsible | Responsible.ProjectSummaryTaskUUID = Project.ProjectSummaryTaskUUID |
| [0..*] | I_PPM_Task | _ProjectTask | _ProjectTask.ProjectUUID = $projection.ProjectUUID |
| [0..1] | I_PPM_ProjectProcgStatusVH | _ProcessingStatus | _ProcessingStatus.ProcessingStatus = $projection.ProcessingStatus |
| [0..*] | I_PPM_ProcessingStatusText | _ProcessingStatusText | _ProcessingStatusText.ProcessingStatus = $projection.ProcessingStatus |
| [0..1] | I_PPM_ProjectType | _ProjectType | _ProjectType.ProjectType = $projection.ProjectType |
| [0..*] | I_PPM_ProTypeText | _ProTypeName | _ProTypeName.ProjectType = $projection.ProjectType |
| [0..1] | I_PPM_Task | _NextEssentialMlstn | _NextEssentialMlstn.TaskUUID = $projection.NextEssentialMlstnUUID and _NextEssentialMlstn.ProjectUUID = $projection.ProjectUUID |
| [0..1] | I_PPM_Task | _NextRelevantMlstn | _NextRelevantMlstn.TaskUUID = $projection.NextRelevantMlstnUUID and _NextRelevantMlstn.ProjectUUID = $projection.ProjectUUID |
| [0..1] | I_BusinessUser | _ProjectManager | _ProjectManager.BusinessPartnerUUID = $projection.ProjectManagerUUID |
| [0..*] | I_StatusObjectStatusBasic | _StatusObjectData | _StatusObjectData.StatusObject = $projection.StatusObject |
| [0..1] | I_PPM_StatusAreaStatus | _AreaStatus | _AreaStatus.Status = $projection.OverallProjectStatus |
| [0..*] | I_PPM_StatusAreaStatusText | _AreaStatusText | _AreaStatusText.Status = $projection.OverallProjectStatus |
| [0..1] | I_PPM_StatusAreaTrend | _AreaTrend | _AreaTrend.StatusTrend = $projection.StatusTrend |
| [0..*] | I_PPM_StatusAreaTrendText | _AreaTrendText | _AreaTrendText.StatusTrend = $projection.StatusTrend |
| [0..*] | I_PPM_ProjectResponsible | _ProjectResponsible | _ProjectResponsible.ProjectUUID = $projection.ProjectUUID |
| [0..1] | I_PPM_Substitute | _Substitute | _Substitute.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID |
| [0..1] | I_PPM_TaskText | _ProjectName | _ProjectName.TaskUUID = $projection.ProjectSummaryTaskUUID |
| [0..1] | I_ControllingArea | _ControllingArea | _ControllingArea.ControllingArea = $projection.ControllingArea |
| [0..1] | I_CompanyCode | _CompanyCode | _CompanyCode.CompanyCode = $projection.CompanyCode |
| [0..*] | I_CostCenter | _CostCenter | _CostCenter.CostCenter = $projection.CostCenter and _CostCenter.ControllingArea = $projection.ControllingArea |
| [0..1] | I_Plant | _Plant | _Plant.Plant = $projection.Plant |
| [0..1] | I_ProjectProfileCode | _ProjectProfileCode | _ProjectProfileCode.ProjectProfileCode = $projection.ProjectProfileCode |
| [0..1] | I_FunctionalArea | _FunctionalArea | _FunctionalArea.FunctionalArea = $projection.FunctionalArea |
| [0..*] | I_ProfitCenter | _ProfitCenter | _ProfitCenter.ProfitCenter = $projection.ProfitCenter and _ProfitCenter.ControllingArea = $projection.ControllingArea |
| [0..1] | I_Projecttype | _EnterpriseProjectType | _EnterpriseProjectType.ProjectType = $projection.EnterpriseProjectType |
| [0..*] | I_Projecttypetext | _EnterpriseProjectTypeText | _EnterpriseProjectTypeText.ProjectType = $projection.EnterpriseProjectType |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| VDM.private | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| AbapCatalog.sqlViewName | PPPMPROJECT | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| ObjectModel.representativeKey | ProjectUUID | view | |
| ObjectModel.usageType.serviceQuality | #X | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.sizeCategory | #L | view |
Fields (94)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectUUID | I_PPM_ProjectSummaryTask | ProjectUUID | |
| KEY | ProjectSummaryTaskUUID | I_PPM_ProjectSummaryTask | ProjectSummaryTaskUUID | |
| Project | I_PPM_ProjectSummaryTask | Project | ||
| ProjectName | I_PPM_ProjectSummaryTask | ProjectName | ||
| ProjectInternalID | I_PPM_ProjectSummaryTask | ProjectInternalID | ||
| WBSElementInternalID | I_PPM_ProjectSummaryTask | WBSElementInternalID | ||
| ProcessingStatus | I_PPM_ProjectSummaryTask | ProjectProcessingStatus | ||
| ProjectTemplateUUID | I_PPM_ProjectSummaryTask | ProjectTemplateUUID | ||
| ProjectCategory | I_PPM_ProjectSummaryTask | ProjectCategory | ||
| StatusObject | I_ProjectBasicData | ProjectObject | ||
| EntProjectSettlementType | I_ProjectBasicData | EntProjectSettlementType | ||
| EntProjectSettlementElement | I_WBSElementBasicData | EntProjectSettlementElement | ||
| ResultAnalysisInternalID | I_WBSElementBasicData | ResultAnalysisInternalID | ||
| Location | I_ProjectBasicData | Location | ||
| ProjectCurrency | I_ProjectBasicData | ProjectCurrency | ||
| TaxJurisdiction | I_ProjectBasicData | TaxJurisdiction | ||
| ProjectProfileCode | I_ProjectBasicData | ProjectProfileCode | ||
| ResponsibleCostCenter | I_WBSElementBasicData | ResponsibleCostCenter | ||
| ProfitCenter | I_WBSElementBasicData | ProfitCenter | ||
| CompanyCode | I_WBSElementBasicData | CompanyCode | ||
| ControllingArea | I_WBSElementBasicData | ControllingArea | ||
| FunctionalArea | I_WBSElementBasicData | FunctionalArea | ||
| Plant | I_WBSElementBasicData | Plant | ||
| FactoryCalendar | I_WBSElementBasicData | FactoryCalendar | ||
| CostingSheet | I_WBSElementBasicData | CostingSheet | ||
| CostCenter | I_WBSElementBasicData | CostCenter | ||
| IsBillingRelevant | I_WBSElementBasicData | WBSElementIsBillingElement | ||
| IsStatistical | I_WBSElementBasicData | WBSIsStatisticalWBSElement | ||
| InvestmentProfile | I_WBSElementBasicData | InvestmentProfile | ||
| FunctionalLocation | I_WBSElementBasicData | FunctionalLocation | ||
| OverallStatusAreaUUID | I_PPM_ProjectStatusArea | StatusAreaUUID | ||
| OverallProjectStatus | I_PPM_ProjectStatusArea | Status | ||
| OverallProjectStsCriticality | I_PPM_ProjectStatusArea | Criticality | ||
| StatusTrend | I_PPM_ProjectStatusArea | StatusTrend | ||
| LastChangedByUser | I_PPM_ProjectSummaryTask | ProjectLastChangedByUser | ||
| LastChangeDateTime | I_PPM_ProjectSummaryTask | ProjectLastChangedDateTime | ||
| CreatedByUser | I_PPM_ProjectSummaryTask | CreatedByUser | ||
| CreationDateTime | I_PPM_ProjectSummaryTask | CreationDateTime | ||
| MasterLanguage | I_PPM_ProjectSummaryTask | MasterLanguage | ||
| ProjectType | I_PPM_ProjectSummaryTask | ProjectType | ||
| ProjectVersionNumber | I_PPM_ProjectSummaryTask | ProjectVersionNumber | ||
| PriorityCode | I_PPM_ProjectSummaryTask | PriorityCode | ||
| EntProjIsMultiSlsOrdItmsEnbld | I_PPM_ProjectSummaryTask | EntProjIsMultiSlsOrdItmsEnbld | ||
| EnterpriseProjectType | I_WBSElementBasicData | ProjectType | ||
| IsMyProjectendasIsMyProject | ||||
| IsMyProjectendasIsMyProjectAsSubstitute | ||||
| ProjectManagerUUID | Responsible | BusinessPartnerUUID | ||
| ProjectStartDate | I_PPM_ProjectSummaryTask | LatestStartDate | ||
| ProjectEndDate | I_PPM_ProjectSummaryTask | LatestFinishDate | ||
| ProjectElementDuration | I_PPM_ProjectSummaryTask | ProjectElementDuration | ||
| ActualStartDate | I_PPM_ProjectSummaryTask | ActualStartDate | ||
| ActualEndDate | I_PPM_ProjectSummaryTask | ActualFinishDate | ||
| NextEssentialMlstnUUID | I_PPM_ProjectMilestEssent | TaskUUID | ||
| NextRelevantMlstnUUID | I_PPM_ProjectMilestRelNext | TaskUUID | ||
| AvailabilityControlProfile | I_ProjectBasicData | AvailabilityControlProfile | ||
| AvailabilityControlIsActive | I_ProjectBasicData | AvailabilityControlIsActive | ||
| EntProjHasProjectStockEnabled | I_ProjectBasicData | EntProjHasProjectStockEnabled | ||
| _ProjectTask | _ProjectTask | |||
| _ProcessingStatus | _ProcessingStatus | |||
| _ProcessingStatusText | _ProcessingStatusText | |||
| _ProjectType | _ProjectType | |||
| _ProTypeName | _ProTypeName | |||
| _NextEssentialMlstn | _NextEssentialMlstn | |||
| _NextRelevantMlstn | _NextRelevantMlstn | |||
| _ProjectManager | _ProjectManager | |||
| _ProjectResponsible | _ProjectResponsible | |||
| _Substitute | _Substitute | |||
| _StatusObjectData | _StatusObjectData | |||
| _AreaStatus | _AreaStatus | |||
| _AreaStatusText | _AreaStatusText | |||
| _AreaTrend | _AreaTrend | |||
| _AreaTrendText | _AreaTrendText | |||
| _ProjectName | _ProjectName | |||
| _ControllingArea | _ControllingArea | |||
| _ResponsibleCostCenter | _ResponsibleCostCenter | |||
| _CompanyCode | _CompanyCode | |||
| _CostCenter | _CostCenter | |||
| _Plant | _Plant | |||
| _ProjectProfileCode | _ProjectProfileCode | |||
| _FunctionalArea | _FunctionalArea | |||
| _ProfitCenter | _ProfitCenter | |||
| _Priority | _Priority | |||
| _PriorityText | _PriorityText | |||
| _EnterpriseProjectType | _EnterpriseProjectType | |||
| _EnterpriseProjectTypeText | _EnterpriseProjectTypeText | |||
| _EntProjectSettlementType | _EntProjectSettlementType | |||
| _CreatedByUser | I_PPM_ProjectSummaryTask | _CreatedByUser | ||
| _ProjectLastChangedByUser | I_PPM_ProjectSummaryTask | _ProjectLastChangedByUser | ||
| _AuthUser | I_PPM_ProjectSummaryTask | _AuthUser | ||
| _AuthSubst | I_PPM_ProjectSummaryTask | _AuthSubst | ||
| _AuthRole | I_PPM_ProjectSummaryTask | _AuthRole | ||
| _AuthGroup | I_PPM_ProjectSummaryTask | _AuthGroup | ||
| _I_Project | I_PPM_ProjectSummaryTask | _I_Project | ||
| _ProjObjRoot | I_PPM_ProjectSummaryTask | _ProjObjRoot |
@VDM.private: true
@VDM.viewType: #COMPOSITE
@AbapCatalog: {
sqlViewName: 'PPPMPROJECT',
compiler.compareFilter: true,
preserveKey:true
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl: {
authorizationCheck: #NOT_REQUIRED,
personalData.blocking: #BLOCKED_DATA_EXCLUDED,
privilegedAssociations: ['_ProjectType']
}
@ObjectModel: {
semanticKey: [ 'Project' ],
representativeKey: 'ProjectUUID',
alternativeKey: [ { id : 'ProjectSummaryTaskUUID', uniqueness: #UNIQUE, element: 'ProjectSummaryTaskUUID' },
{ id : 'ProjectInternalID' , uniqueness: #UNIQUE, element: 'ProjectInternalID' } ],
usageType: {
serviceQuality: #X,
dataClass: #MIXED,
sizeCategory: #L
}
}
/* @EndUserText.label: 'Project' */
define view P_PPM_Project
as select from I_PPM_ProjectSummaryTask as Project
/* PS Project */
left outer join I_ProjectBasicData as PS_Project on(
PS_Project.ProjectInternalID = Project.ProjectInternalID
)
/* PS Root WBS Element */
left outer join I_WBSElementBasicData as PS_RootWBS on(
PS_RootWBS.WBSElementInternalID = Project.WBSElementInternalID
)
/* Essential milestone */
left outer join I_PPM_ProjectMilestEssent as MlstnEssential // Next only
on(
Project.ProjectUUID = MlstnEssential.ProjectUUID
)
/* next released milestone */
left outer join I_PPM_ProjectMilestRelNext as MlstnRelevant on(
Project.ProjectUUID = MlstnRelevant.ProjectUUID
)
/* Build association [0..1] to OverallStatusArea of Project */
left outer join I_PPM_ProjectStatusArea as OverallStatusArea on Project.ProjectUUID = OverallStatusArea.ProjectUUID
and OverallStatusArea.IsOverallStatus = 'X'
// My Project Indicator
left outer join I_PPM_IsMyProject as IsMyProject on Project.ProjectUUID = IsMyProject.ProjectUUID
// My Project as Substitute Indicator
left outer join I_PPM_IsMyProjectAsSubstitute as IsMyProjectAsSubstitute on Project.ProjectUUID = IsMyProjectAsSubstitute.ProjectUUID
// Indicator for user being Project Steering Commitee Member
left outer join I_PPM_TeamMemberIsInRole( P_ProjectRoleCategory : 'SCM' ) as IsPrjSteerMbr on Project.ProjectUUID = IsPrjSteerMbr.ProjectUUID
// Indicator for user being Project Steering Commitee Member
left outer join I_PPM_TeamMemberIsInRole( P_ProjectRoleCategory : 'PFC' ) as IsPrjFinCtrlr on Project.ProjectUUID = IsPrjFinCtrlr.ProjectUUID
// Indicator for user being Project Manager
left outer join I_PPM_TeamMemberIsInRole( P_ProjectRoleCategory : 'PM' ) as IsPrjManager on Project.ProjectUUID = IsPrjManager.ProjectUUID
association [0..1] to I_PPM_SingleResponsibleForProj as Responsible on Responsible.ProjectSummaryTaskUUID = Project.ProjectSummaryTaskUUID
association [0..*] to I_PPM_Task as _ProjectTask on _ProjectTask.ProjectUUID = $projection.ProjectUUID
association [0..1] to I_PPM_ProjectProcgStatusVH as _ProcessingStatus on _ProcessingStatus.ProcessingStatus = $projection.ProcessingStatus
association [0..*] to I_PPM_ProcessingStatusText as _ProcessingStatusText on _ProcessingStatusText.ProcessingStatus = $projection.ProcessingStatus
association [0..1] to I_PPM_ProjectType as _ProjectType on _ProjectType.ProjectType = $projection.ProjectType
association [0..*] to I_PPM_ProTypeText as _ProTypeName on _ProTypeName.ProjectType = $projection.ProjectType
association [0..1] to I_PPM_Task as _NextEssentialMlstn on _NextEssentialMlstn.TaskUUID = $projection.NextEssentialMlstnUUID
and _NextEssentialMlstn.ProjectUUID = $projection.ProjectUUID
association [0..1] to I_PPM_Task as _NextRelevantMlstn on _NextRelevantMlstn.TaskUUID = $projection.NextRelevantMlstnUUID
and _NextRelevantMlstn.ProjectUUID = $projection.ProjectUUID
association [0..1] to I_BusinessUser as _ProjectManager on _ProjectManager.BusinessPartnerUUID = $projection.ProjectManagerUUID
association [0..*] to I_StatusObjectStatusBasic as _StatusObjectData on _StatusObjectData.StatusObject = $projection.StatusObject
association [0..1] to I_PPM_StatusAreaStatus as _AreaStatus on _AreaStatus.Status = $projection.OverallProjectStatus
association [0..*] to I_PPM_StatusAreaStatusText as _AreaStatusText on _AreaStatusText.Status = $projection.OverallProjectStatus
association [0..1] to I_PPM_StatusAreaTrend as _AreaTrend on _AreaTrend.StatusTrend = $projection.StatusTrend
association [0..*] to I_PPM_StatusAreaTrendText as _AreaTrendText on _AreaTrendText.StatusTrend = $projection.StatusTrend
association [0..*] to I_PPM_ProjectResponsible as _ProjectResponsible on _ProjectResponsible.ProjectUUID = $projection.ProjectUUID
association [0..1] to I_PPM_Substitute as _Substitute on _Substitute.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
association [0..1] to I_PPM_TaskText as _ProjectName on _ProjectName.TaskUUID = $projection.ProjectSummaryTaskUUID
association [0..1] to I_ControllingArea as _ControllingArea on _ControllingArea.ControllingArea = $projection.ControllingArea
association [0..1] to I_CompanyCode as _CompanyCode on _CompanyCode.CompanyCode = $projection.CompanyCode
association [0..*] to I_CostCenter as _CostCenter on _CostCenter.CostCenter = $projection.CostCenter
and _CostCenter.ControllingArea = $projection.ControllingArea
association [0..1] to I_Plant as _Plant on _Plant.Plant = $projection.Plant
association [0..1] to I_ProjectProfileCode as _ProjectProfileCode on _ProjectProfileCode.ProjectProfileCode = $projection.ProjectProfileCode
association [0..1] to I_FunctionalArea as _FunctionalArea on _FunctionalArea.FunctionalArea = $projection.FunctionalArea
association [0..*] to I_ProfitCenter as _ProfitCenter on _ProfitCenter.ProfitCenter = $projection.ProfitCenter
and _ProfitCenter.ControllingArea = $projection.ControllingArea
association [0..1] to I_Projecttype as _EnterpriseProjectType on _EnterpriseProjectType.ProjectType = $projection.EnterpriseProjectType
association [0..*] to I_Projecttypetext as _EnterpriseProjectTypeText on _EnterpriseProjectTypeText.ProjectType = $projection.EnterpriseProjectType
{
key Project.ProjectUUID,
key Project.ProjectSummaryTaskUUID,
@EndUserText: { label: 'Project ID',
quickInfo: 'Unique identification of the project'
}
Project.Project,
Project.ProjectName,
Project.ProjectInternalID,
Project.WBSElementInternalID,
@ObjectModel.foreignKey.association: '_ProcessingStatus'
@ObjectModel.text.association: '_ProcessingStatusText'
Project.ProjectProcessingStatus as ProcessingStatus,
Project.ProjectTemplateUUID,
Project.ProjectCategory,
@ObjectModel.foreignKey.association: '_StatusObjectData'
PS_Project.ProjectObject as StatusObject,
// hierarchical settlement changes
PS_Project.EntProjectSettlementType,
PS_RootWBS.EntProjectSettlementElement,
// result analysis key changes
PS_RootWBS.ResultAnalysisInternalID,
PS_Project.Location,
PS_Project.ProjectCurrency,
// Tax Jurisdiction Code
PS_Project.TaxJurisdiction,
// TODO: text and code list
PS_Project.ProjectProfileCode,
// TODO: foreing key
PS_RootWBS.ResponsibleCostCenter,
// TODO: foreing key
PS_RootWBS.ProfitCenter,
// TODO: text and code list
PS_RootWBS.CompanyCode,
PS_RootWBS.ControllingArea,
PS_RootWBS.FunctionalArea,
PS_RootWBS.Plant,
PS_RootWBS.FactoryCalendar,
PS_RootWBS.CostingSheet,
PS_RootWBS.CostCenter,
PS_RootWBS.WBSElementIsBillingElement as IsBillingRelevant,
PS_RootWBS.WBSIsStatisticalWBSElement as IsStatistical,
// PS_RootWBS.WBSElementObject,
PS_RootWBS.InvestmentProfile,
// PS_RootWBS.WBSIsStatisticalWBSElement,
// 2005 Functional Location Changes
PS_RootWBS.FunctionalLocation,
/* Overall Project Status information */
OverallStatusArea.StatusAreaUUID as OverallStatusAreaUUID,
OverallStatusArea.Status as OverallProjectStatus, // obsolete should be removed
OverallStatusArea.Criticality as OverallProjectStsCriticality, // obsolete should be removed
OverallStatusArea.StatusTrend as StatusTrend, // obsolete should be removed
/* Admin data needed for Draft */
Project.ProjectLastChangedByUser as LastChangedByUser,
Project.ProjectLastChangedDateTime as LastChangeDateTime,
Project.CreatedByUser,
Project.CreationDateTime,
Project.MasterLanguage,
@ObjectModel.foreignKey.association: '_ProjectType'
Project.ProjectType,
Project.ProjectVersionNumber,
Project.PriorityCode,
//2102 Ent Project Multiple SO item indicator
Project.EntProjIsMultiSlsOrdItmsEnbld,
@ObjectModel.foreignKey.association: '_EnterpriseProjectType'
@ObjectModel.text.association: '_EnterpriseProjectTypeText'
PS_RootWBS.ProjectType as EnterpriseProjectType,
@EndUserText: { label: 'My Project (Project Manager)',
quickInfo: 'My Project (Project Manager)'
}
case when IsMyProject.IsMyProject is null
then
' '
else
IsMyProject.IsMyProject
end as IsMyProject,
@EndUserText: { label: 'My Project (Substitute)',
quickInfo: 'My Project (Substitute)'
}
case when IsMyProjectAsSubstitute.IsMyProject is null
then
' '
else
IsMyProjectAsSubstitute.IsMyProject
end as IsMyProjectAsSubstitute,
@EndUserText: { label: 'My Project (Steering Committee Member)',
quickInfo: 'My Project (Steering Committee Member)'
}
case when IsPrjSteerMbr.IsInRoleCategory is null
then
' '
else
IsPrjSteerMbr.IsInRoleCategory
end as IsProjectSteeringCommitteeMbr,
@EndUserText: { label: 'My Project (Project Financial Controller)',
quickInfo: 'My Project (Project Financial Controller)'
}
case when IsPrjFinCtrlr.IsInRoleCategory is null
then
' '
else
IsPrjFinCtrlr.IsInRoleCategory
end as IsProjectFinancialController,
@EndUserText: { label: 'My Project (Project Manager)',
quickInfo: 'My Project (Project Manager)'
}
case when IsPrjManager.IsInRoleCategory is null
then
' '
else
IsPrjManager.IsInRoleCategory
end as EntProjectIsProjectManager,
Responsible.BusinessPartnerUUID as ProjectManagerUUID,
@EndUserText: { label: 'Project Start',
quickInfo: 'Project Start'
}
Project.LatestStartDate as ProjectStartDate,
@EndUserText: { label: 'Project Finish',
quickInfo: 'Project Finish'
}
Project.LatestFinishDate as ProjectEndDate,
Project.ForecastedStartDate as ForecastedStartDate,
@EndUserText: { label: 'Forecasted Finish',
quickInfo: 'Forecasted Finish'
}
Project.ForecastedStartDate as ForecastedEndDate,
Project.ProjectElementDuration,
// Project.StartConstraintDateTime,
// Project.FinishConstraintDateTime,
// Project.EarliestStartDateTime,
// Project.ActualStartDateTime,
// Project.LatestStartDateTime as PlannedStartDate,
// Project.EarliestFinishDateTime,
// Project.ActualFinishDateTime,
// Project.LatestFinishDateTime as PlannedFinishDate,
//CE2011 ACTUAL DATES
Project.ActualStartDate as ActualStartDate,
Project.ActualFinishDate as ActualEndDate,
//CE2011 ACTUAL DATES
/* Essential milestone */
MlstnEssential.TaskUUID as NextEssentialMlstnUUID,
/* Next released milestone */
MlstnRelevant.TaskUUID as NextRelevantMlstnUUID,
PS_Project.AvailabilityControlProfile,
PS_Project.AvailabilityControlIsActive,
//CE2208 Enabling Project Stock
PS_Project.EntProjHasProjectStockEnabled,
/* Assocations */
_ProjectTask,
_ProcessingStatus,
_ProcessingStatusText,
_ProjectType,
_ProTypeName,
_NextEssentialMlstn,
_NextRelevantMlstn,
_ProjectManager,
_ProjectResponsible,
_Substitute,
_StatusObjectData,
_AreaStatus,
_AreaStatusText,
_AreaTrend,
_AreaTrendText,
_ProjectName,
_ControllingArea,
_ResponsibleCostCenter,
_CompanyCode,
_CostCenter,
_Plant,
_ProjectProfileCode,
_FunctionalArea,
_ProfitCenter,
_Priority,
_PriorityText,
_EnterpriseProjectType,
_EnterpriseProjectTypeText,
//hierarchical settlement changes
_EntProjectSettlementType,
Project._CreatedByUser,
Project._ProjectLastChangedByUser,
Project._AuthUser,
Project._AuthSubst,
Project._AuthRole,
Project._AuthGroup,
Project._I_Project,
Project._ProjObjRoot
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PPM_ISMYPROJECT",
"I_PPM_ISMYPROJECTASSUBSTITUTE",
"I_PPM_PROJECTMILESTESSENT",
"I_PPM_PROJECTMILESTRELNEXT",
"I_PPM_PROJECTSTATUSAREA",
"I_PPM_PROJECTSUMMARYTASK",
"I_PPM_SINGLERESPONSIBLEFORPROJ",
"I_PPM_TEAMMEMBERISINROLE",
"I_PROJECTBASICDATA",
"I_WBSELEMENTBASICDATA"
],
"ASSOCIATED":
[
"I_BUSINESSUSER",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_ENTPROJECTSETTLEMENTTYPE",
"I_FUNCTIONALAREA",
"I_PLANT",
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH",
"I_PPM_PRIORITY",
"I_PPM_PRIORITYTEXT",
"I_PPM_PROCESSINGSTATUSTEXT",
"I_PPM_PROJECTPROCGSTATUSVH",
"I_PPM_PROJECTRESPONSIBLE",
"I_PPM_PROJECTTYPE",
"I_PPM_PROTYPETEXT",
"I_PPM_SINGLERESPONSIBLEFORPROJ",
"I_PPM_STATUSAREASTATUS",
"I_PPM_STATUSAREASTATUSTEXT",
"I_PPM_STATUSAREATREND",
"I_PPM_STATUSAREATRENDTEXT",
"I_PPM_SUBSTITUTE",
"I_PPM_TASK",
"I_PPM_TASKTEXT",
"I_PPM_USER",
"I_PROFITCENTER",
"I_PROJECTBASICDATA",
"I_PROJECTPROFILECODE",
"I_PROJECTTYPE",
"I_PROJECTTYPETEXT",
"I_STATUSOBJECTSTATUSBASIC",
"I_USER",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[
"I_PPM_PROJECTSUMMARYTASK",
"I_PROJECTBASICDATA",
"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