A_ProjectNetworkStatus

DDL: A_PROJECTNETWORKSTATUS Type: view_entity COMPOSITE

Project Network Status

A_ProjectNetworkStatus is a Composite CDS View that provides data about "Project Network Status" in SAP S/4HANA. It reads from 1 data source (I_ProjectNetworkBasicData) and exposes 9 fields with key fields ProjectNetwork, StatusCode. It has 2 associations to related views. It is exposed through 2 OData services (API_PROJECT_V3, API_PROJECTNETWORK).

Data Sources (1)

SourceAliasJoin Type
I_ProjectNetworkBasicData _ProjectNetworkBasicData inner

Associations (2)

CardinalityTargetAliasCondition
[0..*] I_UserStatusText _UserStatusText _StatusObject.StatusProfile = _UserStatusText.StatusProfile and _StatusObject.StatusCode = _UserStatusText.UserStatus
[1..1] A_ProjectNetwork _ProjectNetwork $projection.ProjectNetwork = _ProjectNetwork.ProjectNetwork

Annotations (10)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label Project Network 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.entitySet.name ProjectNetworkStatus view
OData.entityType.name ProjectNetworkStatus_Type view

OData Services (2)

ServiceBindingVersionContractRelease
API_PROJECT_V3 API_PROJECT_V3 V4 C2 C1
API_PROJECTNETWORK API_PROJECTNETWORK V4 C2 C1

Fields (9)

KeyFieldSource TableSource FieldDescription
KEY ProjectNetwork I_ProjectNetworkBasicData ProjectNetwork
KEY StatusCode _StatusObject StatusCode
StatusObject _StatusObject StatusObject
StatusProfile _StatusObject StatusProfile
StatusIsActive _StatusObject StatusIsActive
IsUserStatus _StatusObject IsUserStatus
StatusShortNameendasStatusShortName
StatusNameendasStatusName
_ProjectNetwork _ProjectNetwork
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Project Network Status'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #D,
  sizeCategory: #XL,
  dataClass: #MIXED
}
@VDM: {
    viewType: #COMPOSITE,
    lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@OData.entitySet.name: 'ProjectNetworkStatus'
@OData.entityType.name: 'ProjectNetworkStatus_Type'

define view entity A_ProjectNetworkStatus
  as select distinct from  I_StatusObjectStatus      as _StatusObject
    inner join             I_ProjectNetworkBasicData as _ProjectNetworkBasicData on _ProjectNetworkBasicData.ProjectNetworkObject = _StatusObject.StatusObject
    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_StatusProfile           as _StatusProfile           on _StatusObject.StatusProfile = _StatusProfile.StatusProfile

    association [0..*] to  I_UserStatusText          as _UserStatusText          on  _StatusObject.StatusProfile = _UserStatusText.StatusProfile
                                                                                 and _StatusObject.StatusCode    = _UserStatusText.UserStatus

  association [1..1] to A_ProjectNetwork as _ProjectNetwork on $projection.ProjectNetwork = _ProjectNetwork.ProjectNetwork
{
  key _ProjectNetworkBasicData.ProjectNetwork,
  key _StatusObject.StatusCode,
      _StatusObject.StatusObject,
      _StatusObject.StatusProfile,
      _StatusObject.StatusIsActive,

      _StatusObject.IsUserStatus as IsUserStatus,

      case _StatusObject.IsUserStatus
        when 'X' then
          case
            when _UserStatusText[Language = $session.system_language].UserStatusShortName is not initial and _UserStatusText[Language = $session.system_language].UserStatusShortName <> '' then
              _UserStatusText[Language = $session.system_language].UserStatusShortName
            else _UserStatusText[Language = _StatusProfile.MasterLanguage].UserStatusShortName
          end
        else _StatusCodeText.StatusShortName
      end                        as StatusShortName,

      case _StatusObject.IsUserStatus
        when 'X' then
          case
            when _UserStatusText[Language = $session.system_language].UserStatusShortName is not initial and _UserStatusText[Language = $session.system_language].UserStatusShortName <> '' then
              _UserStatusText[Language = $session.system_language].UserStatusName
            else _UserStatusText[Language = _StatusProfile.MasterLanguage].UserStatusName
          end
        else _StatusCodeText.StatusName
      end                        as StatusName,

      _ProjectNetwork
}
where
  _StatusCodeText._StatusCode.StatusIsHidden = ''