I_PPM_ProjectTP

DDL: I_PPM_PROJECTTP Type: view TRANSACTIONAL

Transactional processing view for Enterprise Project

I_PPM_ProjectTP is a Transactional CDS View that provides data about "Transactional processing view for Enterprise Project" in SAP S/4HANA. It reads from 1 data source (I_PPM_Project) and exposes 51 fields. It has 9 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_PPM_Project Project from

Associations (9)

CardinalityTargetAliasCondition
[0..*] I_PPM_ProjectStatusAreaTP _StatusArea $projection.ProjectUUID = _StatusArea.ProjectUUID
[0..*] I_PPM_ProjectTaskTP _Task $projection.ProjectUUID = _Task.ProjectUUID
[0..*] I_PPM_ProjectObjectLinkTP _Link $projection.ProjectUUID = _Link.ProjectUUID
[0..*] I_PPM_TeamMemberRoleStaffingTP _TeamMemberRoleStaffing $projection.ProjectUUID = _TeamMemberRoleStaffing.ProjectUUID
[0..1] I_PPM_ProjJntVntrAccountingTP _JointVentureAccounting $projection.ProjectUUID = _JointVentureAccounting.ProjectUUID
[0..1] I_PPM_ProjectPublicSectorTP _PublicSectorManagement $projection.ProjectUUID = _PublicSectorManagement.ProjectUUID
[0..1] I_EntProjectLongTextTP _LongText $projection.ProjectUUID = _LongText.ProjectUUID
[0..1] I_EntProjectBlockFunctionTP _ElementBlockFunc $projection.ProjectUUID = _ElementBlockFunc.ProjectUUID --- Extension
[1..1] E_PPM_Project _ProjectHeaderExtension $projection.ProjectUUID = _ProjectHeaderExtension.ProjectUUID

Annotations (22)

NameValueLevelField
EndUserText.label Transactional processing view for Enterprise Project view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AbapCatalog.sqlViewName IPPMPROJECTTP 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.transactionalProcessingEnabled true view
ObjectModel.compositionRoot true view
ObjectModel.draftEnabled true view
ObjectModel.writeDraftPersistence PPM_PRO_PROJ_D view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled true view
ObjectModel.entityChangeStateId LastChangeDateTime view
ObjectModel.representativeKey ProjectUUID view
ObjectModel.sapObjectNodeType.name EnterpriseProject view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view

Fields (51)

KeyFieldSource TableSource FieldDescription
NextEssentialMlstnUUID
NextEssentialMlstnName I_PPM_Project NextEssentialMlstnName
NextEssentialMlstnDate I_PPM_Project NextEssentialMlstnDate
NextRelevantMlstnUUID I_PPM_Project NextRelevantMlstnUUID
NextRelevantMlstnName I_PPM_Project NextRelevantMlstnName
NextRelevantMlstnDate I_PPM_Project NextRelevantMlstnDate
OverallProjectStatus OverallProjectStatus
OverallProjectStsCriticality OverallProjectStsCriticality
StatusTrend StatusTrend
ProjectElementDuration ProjectElementDuration
AvailabilityControlProfile AvailabilityControlProfile
AvailabilityControlIsActive AvailabilityControlIsActive
EntProjHasProjectStockEnabled EntProjHasProjectStockEnabled
_ProjectManager _ProjectManager
_PPMProjectManager _PPMProjectManager
_ProjectName _ProjectName
_ProjectType _ProjectType
_ProcessingStatus _ProcessingStatus
_ProcessingStatusText _ProcessingStatusText
_AreaStatus _AreaStatus
_AreaStatusText _AreaStatusText
_AreaTrend _AreaTrend
_AreaTrendText _AreaTrendText
_ControllingArea _ControllingArea
_CompanyCode _CompanyCode
_CostCenter _CostCenter
_ResponsibleCostCenter _ResponsibleCostCenter
_Plant _Plant
_ProjectProfileCode _ProjectProfileCode
_FunctionalArea _FunctionalArea
_ProfitCenter _ProfitCenter
_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
_EntProjectSettlementType _EntProjectSettlementType
_StatusArea _StatusArea
_Task _Task
_Link _Link
_LongText _LongText
_TeamMemberRoleStaffing _TeamMemberRoleStaffing
_PublicSectorManagement _PublicSectorManagement
_ElementBlockFunc _ElementBlockFunc
@EndUserText.label: 'Transactional processing view for Enterprise Project'

@VDM: {
    viewType: #TRANSACTIONAL,
    lifecycle.contract.type: #SAP_INTERNAL_API
}

@AbapCatalog: { 
    sqlViewName: 'IPPMPROJECTTP',
    compiler.compareFilter: true,
    preserveKey:true
}
  
@AccessControl: {
    authorizationCheck:     #CHECK,
    personalData.blocking:  #BLOCKED_DATA_EXCLUDED,
    privilegedAssociations: ['_ProjectType']
}

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
   transactionalProcessingEnabled: true,
   compositionRoot:       true,
   draftEnabled:          true,                  //draft processing

   writeDraftPersistence: 'PPM_PRO_PROJ_D',      //draft processing

   createEnabled:         true,
   updateEnabled:         true,
   deleteEnabled:         true,
   entityChangeStateId: 'LastChangeDateTime',
   semanticKey:       [ 'Project' ],
   representativeKey: 'ProjectUUID',
   sapObjectNodeType.name: 'EnterpriseProject',
   alternativeKey: [ { id : 'ProjectSummaryTaskUUID', uniqueness: #UNIQUE, element: 'ProjectSummaryTaskUUID' },
                     { id : 'ProjectInternalID'     , uniqueness: #UNIQUE, element: 'ProjectInternalID' }       ],
   usageType: {
     serviceQuality:  #X,
     dataClass:       #MIXED,
     sizeCategory:    #L
   }
}

define view I_PPM_ProjectTP
  as select from I_PPM_Project as Project
  association [0..*] to I_PPM_ProjectStatusAreaTP      as _StatusArea             on $projection.ProjectUUID = _StatusArea.ProjectUUID
  association [0..*] to I_PPM_ProjectTaskTP            as _Task                   on $projection.ProjectUUID = _Task.ProjectUUID
  association [0..*] to I_PPM_ProjectObjectLinkTP      as _Link                   on $projection.ProjectUUID = _Link.ProjectUUID
  association [0..*] to I_PPM_TeamMemberRoleStaffingTP as _TeamMemberRoleStaffing on $projection.ProjectUUID = _TeamMemberRoleStaffing.ProjectUUID
  association [0..1] to I_PPM_ProjJntVntrAccountingTP  as _JointVentureAccounting on $projection.ProjectUUID = _JointVentureAccounting.ProjectUUID

  association [0..1] to I_PPM_ProjectPublicSectorTP    as _PublicSectorManagement on $projection.ProjectUUID = _PublicSectorManagement.ProjectUUID
  association [0..1] to I_EntProjectLongTextTP         as _LongText               on $projection.ProjectUUID = _LongText.ProjectUUID
     
  association [0..1] to I_EntProjectBlockFunctionTP  as _ElementBlockFunc on $projection.ProjectUUID = _ElementBlockFunc.ProjectUUID
  
  --- Extension Association for Project Header
  association [1..1] to E_PPM_Project                  as _ProjectHeaderExtension on $projection.ProjectUUID = _ProjectHeaderExtension.ProjectUUID
{  
      //* Key Information

      @ObjectModel.readOnly: true
  key Project.ProjectUUID,
      @ObjectModel.readOnly: true
      ProjectSummaryTaskUUID,

      ProjectTemplateUUID,

      Project, 
      ProjectName,
      ProjectType,
      PriorityCode,
    //2102 Ent Project Multiple SO item indicator

    @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      EntProjIsMultiSlsOrdItmsEnbld,
      EnterpriseProjectType,
      ProjectProfileCode,
      // Copy Projects Contol - flags for copying demands and settlement rules 

      cast ( '' as boole_d preserving type ) as EntProjDemandCopyIsRequested,
      cast ( '' as boole_d preserving type ) as EntProjSettlmtRuleCpyIsReqd,
    
      @ObjectModel.foreignKey: {
          association: '_ProjectManager'
      }
      ProjectManagerUUID,

      ProjectStartDate,
      ProjectEndDate,
                 
      //CE2011: actual dates

      ActualStartDate,
      
      ActualEndDate,
      //CE2011: actual dates

      
      Location,
      // Tax Jurisdiction Code

      TaxJurisdiction,
      //2005 Functional Location

      FunctionalLocation,

      @ObjectModel.readOnly: true
      ProjectInternalID,
      @ObjectModel.readOnly: true
      WBSElementInternalID,
    
      ResponsibleCostCenter,
      ProfitCenter,
      ControllingArea,
      CompanyCode,
      FunctionalArea,
      Plant,
      FactoryCalendar,
      CostingSheet,
      CostCenter,
      IsBillingRelevant,
      IsStatistical,
      InvestmentProfile,
      ProjectCurrency,
      //hierarchical settlement changes

      EntProjectSettlementType,
      EntProjectSettlementElement,
      //result analysis key changes

      @Feature: 'PM_CIE_EPPM_MEDIA_PROJ_RAKEY'
      ResultAnalysisInternalID,
      @ObjectModel.readOnly: true
      IsMyProject,
      @ObjectModel.readOnly: true
      IsProjectSteeringCommitteeMbr,
      @ObjectModel.readOnly: true
      IsProjectFinancialController,

      @ObjectModel.readOnly: true
      ProcessingStatus,
      @ObjectModel.readOnly: true
      StatusObject,

      @ObjectModel.readOnly: true
      Project.CreatedByUser,
      @ObjectModel.readOnly: true
      Project.CreationDateTime,
      @ObjectModel.readOnly: true
      Project.LastChangedByUser,
      @ObjectModel.readOnly: true
      Project.LastChangeDateTime,
      /* Essential Milestone Name */
      @ObjectModel.readOnly: true
      Project.NextEssentialMlstnUUID,
      @ObjectModel.readOnly: true
      Project.NextEssentialMlstnName,
      @ObjectModel.readOnly: true
      Project.NextEssentialMlstnDate,
      /* Next relevant Milestone Name */
      @ObjectModel.readOnly: true
      Project.NextRelevantMlstnUUID,
      @ObjectModel.readOnly: true
      Project.NextRelevantMlstnName,
      @ObjectModel.readOnly: true
      Project.NextRelevantMlstnDate,
      @ObjectModel.readOnly: true
      @ObjectModel.text.association: '_AreaStatusText'
      OverallProjectStatus,
      @ObjectModel.readOnly: true
      OverallProjectStsCriticality,
      @ObjectModel.readOnly: true
      @ObjectModel.text.association: '_AreaTrendText'
      StatusTrend,
     // _Task.EntProjIsMultiSlsOrdItmsEnbld,


      ProjectElementDuration,
      //   @ObjectModel.readOnly: true

      //    StartConstraintDateTime,

      //   @ObjectModel.readOnly: true

      //    FinishConstraintDateTime,


      @ObjectModel.readOnly: true
      ForecastedStartDate,
      @ObjectModel.readOnly: true
      ForecastedEndDate,

      AvailabilityControlProfile,
      AvailabilityControlIsActive,
      
      //CE2208 Enabling Project Stock

      EntProjHasProjectStockEnabled,

      //cast( bo  ) as ,

      /* Associations */
      _ProjectManager,
      _PPMProjectManager,
      _ProjectName,
      _ProjectType,
      _ProcessingStatus,
      _ProcessingStatusText,
      _AreaStatus,
      _AreaStatusText,
      _AreaTrend,
      _AreaTrendText,
      _ControllingArea,
      _CompanyCode,
      _CostCenter,
      _ResponsibleCostCenter,
      _Plant,
      _ProjectProfileCode,
      _FunctionalArea,
      _ProfitCenter,

      _CreatedByUser,
      _ProjectLastChangedByUser,

      _AuthUser,
      _AuthSubst,
      _AuthRole,
      _AuthGroup,

      _I_Project,
      _ProjObjRoot,
      _Priority,
      _PriorityText,
      _EnterpriseProjectType,
      _EnterpriseProjectTypeText,
      //hierarchical settlement changes

      _EntProjectSettlementType,      

      @Feature: 'BF:JOINT_VENTURE_ACCOUNTING, IDEA_EPPM_JVA_ENABLEMENT'
      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _JointVentureAccounting,
      @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 ]
      _LongText,
      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _TeamMemberRoleStaffing,
    //  @feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL'

      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
     _PublicSectorManagement,
      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _ElementBlockFunc
   
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PPM_PROJECT"
],
"ASSOCIATED":
[
"E_PPM_PROJECT",
"I_BUSINESSUSER",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_ENTPROJECTBLOCKFUNCTIONTP",
"I_ENTPROJECTLONGTEXTTP",
"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_PROJECTMANAGER",
"I_PPM_PROJECTOBJECTLINKTP",
"I_PPM_PROJECTPROCGSTATUSVH",
"I_PPM_PROJECTPUBLICSECTORTP",
"I_PPM_PROJECTSTATUSAREATP",
"I_PPM_PROJECTTASKTP",
"I_PPM_PROJECTTYPE",
"I_PPM_PROJJNTVNTRACCOUNTINGTP",
"I_PPM_STATUSAREASTATUS",
"I_PPM_STATUSAREASTATUSTEXT",
"I_PPM_STATUSAREATREND",
"I_PPM_STATUSAREATRENDTEXT",
"I_PPM_TASKTEXT",
"I_PPM_TEAMMEMBERROLESTAFFINGTP",
"I_PPM_USER",
"I_PROFITCENTER",
"I_PROJECTBASICDATA",
"I_PROJECTPROFILECODE",
"I_PROJECTTYPE",
"I_PROJECTTYPETEXT",
"I_USER",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[
"I_PPM_PROJECT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/