I_PPM_PROJECTSTATUSAREA

CDS View

PPM Project Status Area Compositional Hierarchy View

I_PPM_PROJECTSTATUSAREA is a CDS View in S/4HANA. PPM Project Status Area Compositional Hierarchy View. It contains 19 fields. 5 CDS views read from this table.

CDS Views using this table (5)

ViewTypeJoinVDMDescription
C_PPM_PrStCmrActvProjOvrlSts view from CONSUMPTION All active Projects - Overall Status
I_PPM_MyActvProjectsStsArea view from COMPOSITE My Projects - Active: Status Area
I_PPM_ProjectStatusAreaTP view from TRANSACTIONAL PPM Status Area for Project Transactional Object View
P_PPM_Project view left_outer COMPOSITE
P_PPM_Prstcm_ProjData view left_outer CONSUMPTION

Fields (19)

KeyField CDS FieldsUsed in Views
KEY StatusAreaUUID OverallStatusAreaUUID,StatusAreaUUID 2
_Area _Area 1
_AreaStatus _AreaStatus 2
_AreaStatusText _AreaStatusText 2
_AreaText _AreaText 1
_AreaTrend _AreaTrend 2
_AreaTrendText _AreaTrendText 2
_AuthGroup _AuthGroup 1
_AuthRole _AuthRole 1
_AuthSubst _AuthSubst 1
_AuthUser _AuthUser 1
Comments Comments 1
Criticality Criticality,OverallProjectStsCriticality 2
IsOverallStatus IsOverallStatus 1
ProjectSummaryTaskUUID ProjectSummaryTaskUUID 1
SortField SortField 1
Status OverallProjectStatus,Status 4
StatusArea StatusArea 1
StatusTrend StatusTrend 3
@EndUserText.label: 'PPM Project Status Area Compositional Hierarchy View'

@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE

@AbapCatalog: { 
    sqlViewName: 'IPPMPROSTATAREA',
    compiler.compareFilter: true,
    preserveKey:true
}

@ObjectModel: {
   representativeKey: 'StatusAreaUUID',
   usageType: {
     serviceQuality:  #C,
     dataClass:       #MIXED,
     sizeCategory:    #L
   }
}


@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED

@UI.presentationVariant.sortOrder: { by: 'SortField', direction: #ASC } 
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API 

define view I_PPM_ProjectStatusArea as select from I_PPM_ProjectStatusAreaData as StatusArea 
  inner join I_PPM_ProjectSummaryTask as PST on StatusArea.ProjectUUID = PST.ProjectUUID //Authorization Check

  // associations for fixed values and texts

  association [1 ] to I_PPM_StatusAreaCode       as _Area           on $projection.StatusArea  = _Area.StatusArea  
  association [* ] to I_PPM_StatusAreaCodeText   as _AreaText       on $projection.StatusArea  = _AreaText.StatusArea
  association [1 ] to I_PPM_StatusAreaStatus     as _AreaStatus     on $projection.Status      = _AreaStatus.Status
  association [* ] to I_PPM_StatusAreaStatusText as _AreaStatusText on $projection.Status      = _AreaStatusText.Status
  association [1 ] to I_PPM_StatusAreaTrend      as _AreaTrend      on $projection.StatusTrend = _AreaTrend.StatusTrend
  association [* ] to I_PPM_StatusAreaTrendText  as _AreaTrendText  on $projection.StatusTrend = _AreaTrendText.StatusTrend
  // BO composition associations 

  association [1..1] to I_PPM_Project as _Root on $projection.ProjectUUID = _Root.ProjectUUID   
  
{
      @ObjectModel.readOnly: true
  key StatusAreaUUID, 
      @ObjectModel.readOnly: true
      StatusArea.ProjectUUID,
      @ObjectModel.readOnly: true
      PST.ProjectSummaryTaskUUID,    
      @ObjectModel.readOnly: true
      PST.WBSElementInternalID,
       
      @ObjectModel.readOnly: true
      @ObjectModel.foreignKey.association: '_Area'
      @ObjectModel.text.association: '_AreaText'
      StatusArea.StatusArea,
      @ObjectModel.foreignKey.association: '_AreaStatus'
      @ObjectModel.text.association: '_AreaStatusText'
      Status, 
      @ObjectModel.foreignKey.association: '_AreaTrend'
      @ObjectModel.text.association: '_AreaTrendText'
      StatusTrend,
      Comments,
      @ObjectModel.readOnly: true
      _Area.SortField as SortField,
      @ObjectModel.readOnly: true
      _Area.IsOverallStatus as IsOverallStatus,
      @ObjectModel.readOnly: true
      _AreaStatus.Criticality as Criticality,  
         
      _Area,
      _AreaText,
      _AreaStatus,
      _AreaStatusText,
      _AreaTrend,
      _AreaTrendText,
      // BO Hierarchy related associations

      @ObjectModel.association.type:  [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ] 
      _Root,
      
      PST._ProjObjRoot,
      PST._AuthUser,
      PST._AuthSubst,
      PST._AuthRole,
      PST._AuthGroup 
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PPM_PROJECTSTATUSAREADATA",
"I_PPM_PROJECTSUMMARYTASK",
"I_PPM_STATUSAREACODE",
"I_PPM_STATUSAREASTATUS"
],
"ASSOCIATED":
[
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH",
"I_PPM_PROJECT",
"I_PPM_STATUSAREACODE",
"I_PPM_STATUSAREACODETEXT",
"I_PPM_STATUSAREASTATUS",
"I_PPM_STATUSAREASTATUSTEXT",
"I_PPM_STATUSAREATREND",
"I_PPM_STATUSAREATRENDTEXT",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[
"I_PPM_PROJECTSUMMARYTASK"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/