A_WBSElementStatus

DDL: A_WBSELEMENTSTATUS Type: view_entity COMPOSITE Package: ODATA_PROJECT_API

WBS Element status

A_WBSElementStatus is a Composite CDS View that provides data about "WBS Element status" in SAP S/4HANA. It reads from 1 data source (I_WBSElementData_2) and exposes 9 fields with key fields WBSElementInternalID, StatusCode. It has 1 association to related views. It is exposed through 1 OData service (API_PROJECT_V3). Part of development package ODATA_PROJECT_API.

Data Sources (1)

SourceAliasJoin Type
I_WBSElementData_2 _WBSElementData inner

Associations (1)

CardinalityTargetAliasCondition
[1..1] A_WBSElement_3 _WBSElement $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID

Annotations (9)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label WBS Element 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 WBSElementStatus_Type view

OData Services (1)

ServiceBindingVersionContractRelease
API_PROJECT_V3 API_PROJECT_V3 V4 C2 C1

Fields (9)

KeyFieldSource TableSource FieldDescription
KEY WBSElementInternalID I_WBSElementData_2 WBSElementInternalID
KEY StatusCode _StatusObject StatusCode
StatusObject _StatusObject StatusObject
StatusProfile _StatusObject StatusProfile
StatusIsActive _StatusObject StatusIsActive
IsUserStatus _StatusObject IsUserStatus
StatusShortNameendasStatusShortName
StatusNameendasStatusName
_WBSElement _WBSElement
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'WBS Element status'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #D,
  sizeCategory: #XL,
  dataClass: #MIXED
}
@VDM: {
    viewType: #COMPOSITE,
    lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@OData.entityType.name:'WBSElementStatus_Type'

define view entity A_WBSElementStatus
  as select distinct from  I_StatusObjectStatus as _StatusObject
    inner join             I_WBSElementData_2   as _WBSElementData on _WBSElementData.WBSElementObject = _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_WBSElement_3 as _WBSElement on $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
{
  key _WBSElementData.WBSElementInternalID,
  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,

      _WBSElement


}
where
  _StatusCodeText._StatusCode.StatusIsHidden = ''