I_PPM_PROJECT

CDS View

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)

ViewTypeJoinVDMDescription
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)

KeyField CDS FieldsUsed 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'