I_PPM_Project

DDL: I_PPM_PROJECT Type: view COMPOSITE

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.

Data Sources (1)

SourceAliasJoin Type
P_PPM_Project Project from

Associations (6)

CardinalityTargetAliasCondition
[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 (14)

NameValueLevelField
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 #X view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view

Fields (105)

KeyFieldSource TableSource FieldDescription
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
@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:  #X,
     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'