A_ProjectStatus
Project status
A_ProjectStatus is a Composite CDS View that provides data about "Project status" in SAP S/4HANA. It reads from 1 data source (I_ProjectData_2) and exposes 9 fields with key fields ProjectInternalID, StatusCode. It has 1 association to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ProjectData_2 | _ProjectData | inner |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | A_Project_3 | _Project | $projection.ProjectInternalID = _Project.ProjectInternalID |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Project status | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_REMOTE_API | view | |
| OData.entityType.name | ProjectStatus_Type | view |
Fields (9)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectInternalID | I_ProjectData_2 | ProjectInternalID | |
| KEY | StatusCode | _StatusObject | StatusCode | |
| StatusObject | _StatusObject | StatusObject | ||
| StatusProfile | _StatusObject | StatusProfile | ||
| StatusIsActive | _StatusObject | StatusIsActive | ||
| IsUserStatus | _StatusObject | IsUserStatus | ||
| StatusShortNameendasStatusShortName | ||||
| StatusNameendasStatusName | ||||
| _Project | _Project |
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Project status'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #D,
sizeCategory: #XL,
dataClass: #MIXED
}
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@OData.entityType.name:'ProjectStatus_Type'
define view entity A_ProjectStatus
as select distinct from I_StatusObjectStatus as _StatusObject
inner join I_ProjectData_2 as _ProjectData on _ProjectData.ProjectObject = _StatusObject.StatusObject
left outer to one join I_StatusCodeText as _StatusCodeText on _StatusObject.StatusCode = _StatusCodeText.StatusCode
and _StatusCodeText.Language = $session.system_language
//Get user status short name and description
left outer to one join I_UserStatusText as _UserStatusText on _StatusObject.StatusProfile = _UserStatusText.StatusProfile
and _StatusObject.StatusCode = _UserStatusText.UserStatus
and _UserStatusText.Language = $session.system_language
association [1..1] to A_Project_3 as _Project on $projection.ProjectInternalID = _Project.ProjectInternalID
{
key _ProjectData.ProjectInternalID,
key _StatusObject.StatusCode,
_StatusObject.StatusObject,
_StatusObject.StatusProfile,
_StatusObject.StatusIsActive,
_StatusObject.IsUserStatus as IsUserStatus,
case _StatusObject.IsUserStatus
when 'X' then _UserStatusText.UserStatusShortName
else _StatusCodeText.StatusShortName
end as StatusShortName,
case _StatusObject.IsUserStatus
when 'X' then _UserStatusText.UserStatusName
else _StatusCodeText.StatusName
end as StatusName,
_Project
}
where
_StatusCodeText._StatusCode.StatusIsHidden = ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PROJECTDATA_2",
"I_STATUSCODE",
"I_STATUSCODETEXT",
"I_STATUSOBJECTSTATUS",
"I_USERSTATUSTEXT"
],
"ASSOCIATED":
[
"A_PROJECT_3"
],
"BASE":
[],
"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