A_ProjectNetworkActivityStatus

DDL: A_PROJECTNETWORKACTIVITYSTATUS Type: view_entity COMPOSITE

Project Network Activity Status

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

Data Sources (1)

SourceAliasJoin Type
I_NetworkActivityByInternalKey _NetworkActivityByInternalKey inner

Associations (3)

CardinalityTargetAliasCondition
[0..*] I_UserStatusText _UserStatusText _StatusObject.StatusProfile = _UserStatusText.StatusProfile and _StatusObject.StatusCode = _UserStatusText.UserStatus
[1..1] A_ProjectNetworkActivity _ProjectNetworkActivity $projection.ProjectNetworkInternalID = _ProjectNetworkActivity.ProjectNetworkInternalID and $projection.ProjNetworkActivityInternalID = _ProjectNetworkActivity.ProjNetworkActivityInternalID
[1..1] A_ProjNetworkActivityElement _ProjNetworkActivityElement $projection.ProjectNetworkInternalID = _ProjNetworkActivityElement.ProjectNetworkInternalID and $projection.ProjNetworkActivityInternalID = _ProjNetworkActivityElement.ProjNetworkActivityInternalID

Annotations (10)

NameValueLevelField
EndUserText.label Project Network Activity 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 ProjectNetworkActivityStatus view
OData.entityType.name ProjectNetworkActivityStatus_Type view
AccessControl.authorizationCheck #CHECK view

OData Services (2)

ServiceBindingVersionContractRelease
API_PROJECT_V3 API_PROJECT_V3 V4 C2 C1
API_PROJECTNETWORK API_PROJECTNETWORK V4 C2 C1

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY ProjectNetworkInternalID I_NetworkActivityByInternalKey ProjectNetworkInternalID
KEY ProjNetworkActivityInternalID I_NetworkActivityByInternalKey NetworkActivityInternalID
KEY StatusCode _StatusObject StatusCode
StatusObject _StatusObject StatusObject
StatusProfile _StatusObject StatusProfile
StatusIsActive _StatusObject StatusIsActive
IsUserStatus _StatusObject IsUserStatus
StatusShortNameendasStatusShortName
StatusNameendasStatusName
_ProjectNetworkActivity _ProjectNetworkActivity
_ProjNetworkActivityElement _ProjNetworkActivityElement
@EndUserText.label: 'Project Network Activity Status'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #D,
  sizeCategory: #XL,
  dataClass: #MIXED
}
@VDM: {
    viewType: #COMPOSITE,
    lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@OData.entitySet.name: 'ProjectNetworkActivityStatus'
@OData.entityType.name: 'ProjectNetworkActivityStatus_Type'
@AccessControl.authorizationCheck: #CHECK

define view entity A_ProjectNetworkActivityStatus
  as select distinct from  I_StatusObjectStatus           as _StatusObject
    inner join             I_NetworkActivityByInternalKey as _NetworkActivityByInternalKey on _NetworkActivityByInternalKey.NetworkActivityObject = _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_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_ProjectNetworkActivity     as _ProjectNetworkActivity     on  $projection.ProjectNetworkInternalID      = _ProjectNetworkActivity.ProjectNetworkInternalID
                                                                                    and $projection.ProjNetworkActivityInternalID = _ProjectNetworkActivity.ProjNetworkActivityInternalID

  association [1..1] to A_ProjNetworkActivityElement as _ProjNetworkActivityElement on  $projection.ProjectNetworkInternalID      = _ProjNetworkActivityElement.ProjectNetworkInternalID
                                                                                    and $projection.ProjNetworkActivityInternalID = _ProjNetworkActivityElement.ProjNetworkActivityInternalID

{
  key _NetworkActivityByInternalKey.ProjectNetworkInternalID,
  key _NetworkActivityByInternalKey.NetworkActivityInternalID as ProjNetworkActivityInternalID,
  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,

      _ProjectNetworkActivity,
      _ProjNetworkActivityElement
}
where
  _StatusCodeText._StatusCode.StatusIsHidden = ''