I_PPM_Project
Project
I_PPM_Project is a Composite CDS View that provides data about "Project" in SAP S/4HANA. It reads from 1 data source (P_PPM_Project) and exposes 105 fields with key field ProjectUUID. It has 6 associations to related views. Part of development package PPM_OBJECTS_DEPRECATED.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| P_PPM_Project | Project | from |
Associations (6)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_PPM_ProjectManager | _PPMProjectManager | _PPMProjectManager.ProjectUUID = $projection.ProjectUUID |
| [0..1] | I_BusinessUser | _ProjectManager | _ProjectManager.BusinessPartnerUUID = $projection.ProjectManagerUUID |
| [0..*] | I_PPM_ProjectStatusArea | _StatusArea | $projection.ProjectUUID = _StatusArea.ProjectUUID |
| [0..*] | I_PPM_ProjectTask | _Task | $projection.ProjectUUID = _Task.ProjectUUID |
| [0..*] | I_PPM_ProjectObjectLink | _Link | $projection.ProjectUUID = _Link.ProjectUUID |
| [0..1] | I_PPM_ProjJntVentureAccounting | _JointVentureAccounting | $projection.ProjectUUID = _JointVentureAccounting.ProjectUUID |
Annotations (16)
| Name | Value | Level | Field |
|---|---|---|---|
| VDM.lifecycle.status | #DEPRECATED | view | |
| VDM.lifecycle.successor | R_EnterpriseProject | view | |
| EndUserText.label | Project | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| AbapCatalog.sqlViewName | IPPMPROJECT | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.compositionRoot | true | view | |
| ObjectModel.representativeKey | ProjectUUID | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.sizeCategory | #L | view |
Fields (105)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectUUID | P_PPM_Project | ProjectUUID | |
| ProjectSummaryTaskUUID | ProjectSummaryTaskUUID | |||
| Project | Project | |||
| ProjectInternalID | P_PPM_Project | ProjectInternalID | ||
| WBSElementInternalID | P_PPM_Project | WBSElementInternalID | ||
| ProjectCategory | P_PPM_Project | ProjectCategory | ||
| ProjectTemplateUUID | ProjectTemplateUUID | |||
| MasterLanguage | MasterLanguage | |||
| ProjectName | P_PPM_Project | ProjectName | ||
| ProjectManagerUUID | _PPMProjectManager | ProjectManagerUUID | ||
| ProjectProfileCode | ProjectProfileCode | |||
| ResponsibleCostCenter | P_PPM_Project | ResponsibleCostCenter | ||
| ProfitCenter | ProfitCenter | |||
| ControllingArea | ControllingArea | |||
| CompanyCode | CompanyCode | |||
| FunctionalArea | FunctionalArea | |||
| Plant | Plant | |||
| FactoryCalendar | FactoryCalendar | |||
| CostingSheet | CostingSheet | |||
| CostCenter | CostCenter | |||
| IsBillingRelevant | IsBillingRelevant | |||
| IsStatistical | IsStatistical | |||
| InvestmentProfile | InvestmentProfile | |||
| Location | Location | |||
| TaxJurisdiction | TaxJurisdiction | |||
| ProjectCurrency | ProjectCurrency | |||
| FunctionalLocation | FunctionalLocation | |||
| IsMyProject | IsMyProject | |||
| IsMyProjectAsSubstitute | IsMyProjectAsSubstitute | |||
| IsProjectSteeringCommitteeMbr | IsProjectSteeringCommitteeMbr | |||
| IsProjectFinancialController | IsProjectFinancialController | |||
| EntProjectIsProjectManager | EntProjectIsProjectManager | |||
| CreatedByUser | CreatedByUser | |||
| CreationDateTime | CreationDateTime | |||
| LastChangedByUser | LastChangedByUser | |||
| LastChangeDateTime | LastChangeDateTime | |||
| NextEssentialMlstnUUID | NextEssentialMlstnUUID | |||
| NextEssentialMlstnName | _NextEssentialMlstn | TaskName | ||
| NextEssentialMlstnDate | _NextEssentialMlstn | LatestFinishDate | ||
| NextRelevantMlstnUUID | NextRelevantMlstnUUID | |||
| NextRelevantMlstnName | _NextRelevantMlstn | TaskName | ||
| NextRelevantMlstnDate | _NextRelevantMlstn | LatestFinishDate | ||
| ProjectElementDuration | ProjectElementDuration | |||
| OverallProjectStatus | OverallProjectStatus | |||
| OverallProjectStsCriticality | OverallProjectStsCriticality | |||
| StatusTrend | StatusTrend | |||
| ProjectStartDate | ProjectStartDate | |||
| ProjectEndDate | ProjectEndDate | |||
| ActualStartDate | ActualStartDate | |||
| ActualEndDate | ActualEndDate | |||
| ProcessingStatus | ProcessingStatus | |||
| StatusObject | StatusObject | |||
| ProjectType | ProjectType | |||
| ProjectVersionNumber | ProjectVersionNumber | |||
| PriorityCode | PriorityCode | |||
| EntProjIsMultiSlsOrdItmsEnbld | EntProjIsMultiSlsOrdItmsEnbld | |||
| EnterpriseProjectType | EnterpriseProjectType | |||
| AvailabilityControlProfile | AvailabilityControlProfile | |||
| AvailabilityControlIsActive | AvailabilityControlIsActive | |||
| EntProjectSettlementType | EntProjectSettlementType | |||
| EntProjectSettlementElement | EntProjectSettlementElement | |||
| ResultAnalysisInternalID | ResultAnalysisInternalID | |||
| EntProjHasProjectStockEnabled | EntProjHasProjectStockEnabled | |||
| _ProjectTask | _ProjectTask | |||
| _ProjectName | _ProjectName | |||
| _NextEssentialMlstn | _NextEssentialMlstn | |||
| _NextRelevantMlstn | _NextRelevantMlstn | |||
| _ProcessingStatus | _ProcessingStatus | |||
| _ProcessingStatusText | _ProcessingStatusText | |||
| _StatusObjectData | _StatusObjectData | |||
| _ProjectType | _ProjectType | |||
| _ProTypeName | _ProTypeName | |||
| _EntProjectSettlementType | _EntProjectSettlementType | |||
| _ProjectManager | _ProjectManager | |||
| _PPMProjectManager | _PPMProjectManager | |||
| _ProjectResponsible | _ProjectResponsible | |||
| _Substitute | _Substitute | |||
| _ControllingArea | _ControllingArea | |||
| _CompanyCode | _CompanyCode | |||
| _CostCenter | _CostCenter | |||
| _ResponsibleCostCenter | _ResponsibleCostCenter | |||
| _Plant | _Plant | |||
| _ProjectProfileCode | _ProjectProfileCode | |||
| _FunctionalArea | _FunctionalArea | |||
| _ProfitCenter | _ProfitCenter | |||
| _AreaStatus | _AreaStatus | |||
| _AreaStatusText | _AreaStatusText | |||
| _AreaTrend | _AreaTrend | |||
| _AreaTrendText | _AreaTrendText | |||
| _CreatedByUser | _CreatedByUser | |||
| _ProjectLastChangedByUser | _ProjectLastChangedByUser | |||
| _AuthUser | _AuthUser | |||
| _AuthSubst | _AuthSubst | |||
| _AuthRole | _AuthRole | |||
| _AuthGroup | _AuthGroup | |||
| _I_Project | _I_Project | |||
| _ProjObjRoot | _ProjObjRoot | |||
| _Priority | _Priority | |||
| _PriorityText | _PriorityText | |||
| _EnterpriseProjectType | _EnterpriseProjectType | |||
| _EnterpriseProjectTypeText | _EnterpriseProjectTypeText | |||
| _StatusArea | _StatusArea | |||
| _Task | _Task | |||
| _Link | _Link | |||
| _JointVentureAccounting | _JointVentureAccounting |
@VDM.lifecycle: {
status: #DEPRECATED,
successor: 'R_EnterpriseProject'
}
@EndUserText.label: 'Project'
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@AbapCatalog: {
sqlViewName: 'IPPMPROJECT',
compiler.compareFilter: true,
preserveKey:true
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #BLOCKED_DATA_EXCLUDED,
privilegedAssociations: ['_ProjectType']
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
compositionRoot: true,
semanticKey: [ 'Project' ],
representativeKey: 'ProjectUUID',
alternativeKey: [ { id : 'ProjectSummaryTaskUUID', uniqueness: #UNIQUE, element: 'ProjectSummaryTaskUUID' },
{ id : 'ProjectInternalID' , uniqueness: #UNIQUE, element: 'ProjectInternalID' } ],
usageType: {
serviceQuality: #C,
dataClass: #MIXED,
sizeCategory: #L
}
}
define view I_PPM_Project
as select from P_PPM_Project as Project
association [0..1] to I_PPM_ProjectManager as _PPMProjectManager on _PPMProjectManager.ProjectUUID = $projection.ProjectUUID
association [0..1] to I_BusinessUser as _ProjectManager on _ProjectManager.BusinessPartnerUUID = $projection.ProjectManagerUUID
// BO Nodes
association [0..*] to I_PPM_ProjectStatusArea as _StatusArea on $projection.ProjectUUID = _StatusArea.ProjectUUID
association [0..*] to I_PPM_ProjectTask as _Task on $projection.ProjectUUID = _Task.ProjectUUID
association [0..*] to I_PPM_ProjectObjectLink as _Link on $projection.ProjectUUID = _Link.ProjectUUID
association [0..1] to I_PPM_ProjJntVentureAccounting as _JointVentureAccounting on $projection.ProjectUUID = _JointVentureAccounting.ProjectUUID
/* association for value help
association [1] to I_PPM_ProcessingStatus as _ProcessingStatusVH on $projection.ProcessingStatus = _ProcessingStatus.ProcessingStatus */
{
key Project.ProjectUUID,
ProjectSummaryTaskUUID,
Project,
Project.ProjectInternalID,
Project.WBSElementInternalID,
Project.ProjectCategory as ProjectCategory,
ProjectTemplateUUID,
MasterLanguage,
@EndUserText: { label: 'Project Name', quickInfo: 'Project Name' }
/* temporarily */
// _ProjectName.ObjectName as ProjectName,
Project.ProjectName as ProjectName,
// _ProjectName.ObjectNameUserLanguage as ProjectNameUserLanguage,
// _ProjectName.ObjectNameMasterLanguage as ProjectNameMasterLanguage,
_PPMProjectManager.ProjectManagerUUID as ProjectManagerUUID,
ProjectProfileCode,
Project.ResponsibleCostCenter,
ProfitCenter,
ControllingArea,
CompanyCode,
FunctionalArea,
Plant,
FactoryCalendar,
CostingSheet,
CostCenter,
IsBillingRelevant,
IsStatistical,
InvestmentProfile,
Location,
// Tax Jurisdiction Code
TaxJurisdiction,
ProjectCurrency,
// 2005 Functional Location
FunctionalLocation,
IsMyProject, // indicator: user is responsible projectmanager
IsMyProjectAsSubstitute, // indicator: user is responsible as a substitute
IsProjectSteeringCommitteeMbr, // indicator: user is in Role ProjectSteeringCommitteeMember
IsProjectFinancialController, // indicator: user is in Role ProjectSteeringCommitteeMember
EntProjectIsProjectManager, // indicator: user is in Role ProjectManager
@Semantics.user.createdBy: true
CreatedByUser,
//@Semantics.systemDateTime.createdAt: true
CreationDateTime,
@Semantics.user.lastChangedBy: true
LastChangedByUser,
//@Semantics.systemDateTime.lastChangedAt: true
LastChangeDateTime,
NextEssentialMlstnUUID,
// NextEssentialMlstnName.ObjectName as NextEssentialMlstnName,
_NextEssentialMlstn.TaskName as NextEssentialMlstnName,
_NextEssentialMlstn.LatestFinishDate as NextEssentialMlstnDate,
NextRelevantMlstnUUID,
// NextRelevantMlstnName.ObjectName as NextRelevantMlstnName,
_NextRelevantMlstn.TaskName as NextRelevantMlstnName,
_NextRelevantMlstn.LatestFinishDate as NextRelevantMlstnDate,
ProjectElementDuration,
// StartConstraintDateTime,
// FinishConstraintDateTime,
OverallProjectStatus,
OverallProjectStsCriticality,
StatusTrend,
// @Semantics.businessDate.from: true
ProjectStartDate,
// @Semantics.businessDate.to: true
ProjectEndDate,
//CE2011 ACTUAL DATES
ActualStartDate,
ActualEndDate,
//CE2011 ACTUAL DATES
// @Semantics.businessDate.from: true
ForecastedStartDate,
// @Semantics.businessDate.to: true
ForecastedEndDate,
ProcessingStatus,
StatusObject,
ProjectType,
ProjectVersionNumber,
PriorityCode,
//2102 Ent Project Multiple SO item indicator
EntProjIsMultiSlsOrdItmsEnbld,
EnterpriseProjectType,
AvailabilityControlProfile,
AvailabilityControlIsActive,
//Hierarchy settlement changes
EntProjectSettlementType,
EntProjectSettlementElement,
//result analysis key changes
ResultAnalysisInternalID,
//CE2208 Enabling Project Stock
EntProjHasProjectStockEnabled,
/* Associations */
_ProjectTask,
_ProjectName,
_NextEssentialMlstn,
_NextRelevantMlstn,
_ProcessingStatus,
_ProcessingStatusText,
_StatusObjectData,
_ProjectType,
_ProTypeName,
//Hierarchy settlement changes
_EntProjectSettlementType,
_ProjectManager,
_PPMProjectManager,
_ProjectResponsible,
_Substitute,
_ControllingArea,
_CompanyCode,
_CostCenter,
_ResponsibleCostCenter,
_Plant,
_ProjectProfileCode,
_FunctionalArea,
_ProfitCenter,
_AreaStatus,
_AreaStatusText,
_AreaTrend,
_AreaTrendText,
_CreatedByUser,
_ProjectLastChangedByUser,
_AuthUser,
_AuthSubst,
_AuthRole,
_AuthGroup,
_I_Project,
_ProjObjRoot,
_Priority,
_PriorityText,
_EnterpriseProjectType,
_EnterpriseProjectTypeText,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_StatusArea,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_Task,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_Link,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_JointVentureAccounting
}
where
Project.ProjectCategory <> '7'
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