I_PPM_ProjectStatusArea
PPM Project Status Area Compositional Hierarchy View
I_PPM_ProjectStatusArea is a Composite CDS View that provides data about "PPM Project Status Area Compositional Hierarchy View" in SAP S/4HANA. It reads from 2 data sources (I_PPM_ProjectSummaryTask, I_PPM_ProjectStatusAreaData) and exposes 23 fields with key field StatusAreaUUID. It has 7 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_PPM_ProjectSummaryTask | PST | inner |
| I_PPM_ProjectStatusAreaData | StatusArea | from |
Associations (7)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1 ] | I_PPM_StatusAreaCode | _Area | $projection.StatusArea = _Area.StatusArea |
| [* ] | I_PPM_StatusAreaCodeText | _AreaText | $projection.StatusArea = _AreaText.StatusArea |
| [1 ] | I_PPM_StatusAreaStatus | _AreaStatus | $projection.Status = _AreaStatus.Status |
| [* ] | I_PPM_StatusAreaStatusText | _AreaStatusText | $projection.Status = _AreaStatusText.Status |
| [1 ] | I_PPM_StatusAreaTrend | _AreaTrend | $projection.StatusTrend = _AreaTrend.StatusTrend |
| [* ] | I_PPM_StatusAreaTrendText | _AreaTrendText | $projection.StatusTrend = _AreaTrendText.StatusTrend |
| [1..1] | I_PPM_Project | _Root | $projection.ProjectUUID = _Root.ProjectUUID |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | PPM Project Status Area Compositional Hierarchy View | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.viewType | #COMPOSITE | view | |
| AbapCatalog.sqlViewName | IPPMPROSTATAREA | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| ObjectModel.representativeKey | StatusAreaUUID | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| UI.presentationVariant.sortOrder.by | SortField | view | |
| UI.presentationVariant.sortOrder.direction | #ASC | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view |
Fields (23)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | StatusAreaUUID | StatusAreaUUID | ||
| ProjectUUID | I_PPM_ProjectStatusAreaData | ProjectUUID | ||
| ProjectSummaryTaskUUID | I_PPM_ProjectSummaryTask | ProjectSummaryTaskUUID | ||
| WBSElementInternalID | I_PPM_ProjectSummaryTask | WBSElementInternalID | ||
| StatusArea | I_PPM_ProjectStatusAreaData | StatusArea | ||
| Status | Status | |||
| StatusTrend | StatusTrend | |||
| Comments | Comments | |||
| SortField | _Area | SortField | ||
| IsOverallStatus | _Area | IsOverallStatus | ||
| Criticality | _AreaStatus | Criticality | ||
| _Area | _Area | |||
| _AreaText | _AreaText | |||
| _AreaStatus | _AreaStatus | |||
| _AreaStatusText | _AreaStatusText | |||
| _AreaTrend | _AreaTrend | |||
| _AreaTrendText | _AreaTrendText | |||
| _Root | _Root | |||
| _ProjObjRoot | I_PPM_ProjectSummaryTask | _ProjObjRoot | ||
| _AuthUser | I_PPM_ProjectSummaryTask | _AuthUser | ||
| _AuthSubst | I_PPM_ProjectSummaryTask | _AuthSubst | ||
| _AuthRole | I_PPM_ProjectSummaryTask | _AuthRole | ||
| _AuthGroup | I_PPM_ProjectSummaryTask | _AuthGroup |
@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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA