A_DevProjElementStatus

DDL: A_DEVPROJELEMENTSTATUS Type: view_entity COMPOSITE

Project Element Status

A_DevProjElementStatus is a Composite CDS View that provides data about "Project Element Status" in SAP S/4HANA. It reads from 1 data source (I_PPM_Task) and exposes 7 fields with key fields DevProjElmntUUID, StatusCode. It has 1 association to related views.

Data Sources (1)

SourceAliasJoin Type
I_PPM_Task _TaskData inner

Associations (1)

CardinalityTargetAliasCondition
[1..*] A_DevelopmentProjectElement _ProjectElement $projection.DevProjElmntUUID = _ProjectElement.DevProjElmntUUID

Annotations (9)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Project Element Status view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #C 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 DevProjElementStatus_Type view

Fields (7)

KeyFieldSource TableSource FieldDescription
KEY DevProjElmntUUID I_PPM_Task TaskUUID
KEY StatusCode _StatusObject StatusCode
StatusProfile _StatusObject StatusProfile
StatusIsInactive _StatusObject StatusIsInactive
IsSystemStatus _StatusObject IsSystemStatus
StatusNameendasDevProjStatusName
_ProjectElement _ProjectElement
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Project Element Status'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #C,
  sizeCategory: #XL,
  dataClass: #MIXED
}
@VDM: {
    viewType: #COMPOSITE,
    lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@OData.entityType.name:'DevProjElementStatus_Type'

define view entity A_DevProjElementStatus
  as select distinct from  I_DevStatusObjectDetail as _StatusObject
    inner join             I_PPM_Task              as _TaskData       on _TaskData.TaskUUID = _StatusObject.StatusObjectUUID
    left outer to one join I_StatusCodeText        as _StatusCodeText on  _StatusObject.StatusCode = _StatusCodeText.StatusCode
                                                                      and _StatusCodeText.Language = $session.system_language

    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..*] to A_DevelopmentProjectElement as _ProjectElement on $projection.DevProjElmntUUID = _ProjectElement.DevProjElmntUUID
//

{
  key _TaskData.TaskUUID             as DevProjElmntUUID,
  key _StatusObject.StatusCode       as StatusCode,

      _StatusObject.StatusProfile    as StatusProfile,
      _StatusObject.StatusIsInactive as StatusIsInactive,
      _StatusObject.IsSystemStatus   as IsSystemStatus,

      case _StatusObject.IsSystemStatus
       when 'X' then _StatusCodeText.StatusShortName
       else  ' '
      end                            as DevProjStatusShortName,

      case _StatusObject.IsSystemStatus
        when ' ' then _UserStatusText.UserStatusName
        else _StatusCodeText.StatusName
      end                            as DevProjStatusName,

      _ProjectElement
}
where
      _StatusCodeText._StatusCode.StatusIsHidden =  ''
  and _TaskData.ObjectType                       != 'DPO'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_DEVSTATUSOBJECTDETAIL",
"I_PPM_TASK",
"I_STATUSCODE",
"I_STATUSCODETEXT",
"I_USERSTATUSTEXT"
],
"ASSOCIATED":
[
"A_DEVELOPMENTPROJECTELEMENT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/