I_PPM_PROJECT
Project
I_PPM_PROJECT is a CDS View in S/4HANA. Project. It contains 22 fields. 12 CDS views read from this table.
CDS Views using this table (12)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| C_EntProjectMassChange | view | from | CONSUMPTION | Enterprise Project for Mass Change |
| C_EntProjMassChangeParameter | view | from | CONSUMPTION | Parameters for Enterprise Project Mass Change |
| C_EntProjRankUnassignedProject | view | from | CONSUMPTION | Enterprise Project Ranking Unassgined Project |
| C_PPM_ProjectBriefCost | view | from | CONSUMPTION | Source of Cost Chart |
| C_PPM_PrStCmrActvProjCostComp | view | from | CONSUMPTION | Cost to Date – Cost Components |
| C_ProjWBSWthAvailyCtrlPrflActv | view | from | CONSUMPTION | Projects and WBS with Budget AVC Profile Active |
| C_ProjWithAvailyCtrlPrflActv | view | from | CONSUMPTION | Projects with Budget AVC profile active |
| D_EnterpriseProjectActSStatus | view_entity | from | Enterprise Project Action set processing status | |
| I_EnterpriseProjectTP | view | from | TRANSACTIONAL | Appl. Interface for Enterprise Project |
| I_PPM_ProjectCopilot | view | from | COMPOSITE | Project header info for Copilot |
| I_PPM_ProjectTP | view | from | TRANSACTIONAL | Transactional processing view for Enterprise Project |
| P_EntProjectBlockFunc | view | from | COMPOSITE | Private view for project header block posting |
Fields (22)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | ProjectInternalID | ProjectInternalID | 3 |
| KEY | ProjectSummaryTaskUUID | ParentObjectUUID,ProjectSummaryTaskUUID | 4 |
| KEY | ProjectUUID | ProjectUUID | 4 |
| _AuthGroup | _AuthGroup | 3 | |
| _AuthRole | _AuthRole | 3 | |
| _AuthSubst | _AuthSubst | 3 | |
| _AuthUser | _AuthUser | 3 | |
| _I_Project | _I_Project | 1 | |
| InvestmentProfile | InvestmentProfile | 1 | |
| IsMyProject | IsMyProject | 1 | |
| IsMyProjectAsSubstitute | IsMyProjectAsSubstitute | 1 | |
| IsProjectSteeringCommitteeMbr | IsProjectSteeringCommitteeMbr | 1 | |
| NextEssentialMlstnDate | NextEssentialMlstnDate | 1 | |
| NextEssentialMlstnName | NextEssentialMlstnName | 1 | |
| NextRelevantMlstnDate | NextRelevantMlstnDate | 1 | |
| NextRelevantMlstnName | NextRelevantMlstnName | 1 | |
| NextRelevantMlstnUUID | NextRelevantMlstnUUID | 1 | |
| Project | Project | 2 | |
| ProjectElementDuration | ProjectElementDuration | 1 | |
| ProjectManagerUUID | ProjectManagerUUID | 1 | |
| ProjectName | ProjectName | 1 | |
| WBSElementInternalID | WBSElementInternalID | 1 |
@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'