C_ProjectNetworkGraphOverview

DDL: C_PROJECTNETWORKGRAPHOVERVIEW SQL: CPROJNTWKGROVW Type: view CONSUMPTION Package: ODATA_PS_NETWORK_GRAPH

Project Network Graph Overview

C_ProjectNetworkGraphOverview is a Consumption CDS View that provides data about "Project Network Graph Overview" in SAP S/4HANA. It reads from 1 data source (I_ProjectNetworkBasicData) and exposes 35 fields with key fields ProjectNetwork, Version. It has 5 associations to related views. It is exposed through 1 OData service (UI_PROJECTOBJECTHIERARCHY). Part of development package ODATA_PS_NETWORK_GRAPH.

Data Sources (1)

SourceAliasJoin Type
I_ProjectNetworkBasicData ProjectNetwork from

Associations (5)

CardinalityTargetAliasCondition
[0..1] I_StsObjConcatActiveStsILL _Status $projection.ProjectNetworkObject = _Status.StatusObject
[1..1] C_ProjectForNetworkGraph _Project $projection.ProjectInternalID = _Project.ProjectInternalID
[0..1] C_WBSElementForGraph _WBSElement _WBSElement.WBSElementInternalID = $projection.WBSElementInternalID
[1..1] I_NetworkActivityByInternalKey _NetworkActivityByInternalKey $projection.SuperiorProjectNetworkIntID = _NetworkActivityByInternalKey.ProjectNetworkInternalID and $projection.SuperiorNtwkActivityInternalID = _NetworkActivityByInternalKey.NetworkActivityInternalID
[0..1] I_WBSElementData_2 _WBSElementData $projection.WBSElementInternalID = _WBSElementData.WBSElementInternalID

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName CPROJNTWKGROVW view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Project Network Graph Overview view
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.ignorePropagatedAnnotations true view
Metadata.allowExtensions true view

OData Services (1)

ServiceBindingVersionContractRelease
UI_PROJECTOBJECTHIERARCHY UI_PS_PROJECT_SCHEDULE_SRV V2 C1 NOT_RELEASED

Fields (35)

KeyFieldSource TableSource FieldDescription
KEY ProjectNetwork ProjectNetwork Network
KEY Version
ProjectNetworkType I_ProjectNetworkBasicData ProjectNetworkType Network Type
OrderTypeName
ProjectNetworkObject I_ProjectNetworkBasicData ProjectNetworkObject
ProjectInternalID
WBSElementInternalID
Plant I_ProjectNetworkBasicData Plant
MRPController I_ProjectNetworkBasicData MRPController
OrderCategory I_ProjectNetworkBasicData OrderCategory
PlantName
PriorityCodeName Priority
SalesOrder I_ProjectNetworkBasicData SalesOrder
SalesOrderItem
ControllingAreaName
CompanyCodeName
BusinessAreaName
ProfitCenterNameasProfitCenterName
PlannedStartDate
PlannedEndDate
ScheduledBasicStartDate
ScheduledBasicEndDate
ActualStartDate
ActualEndDate
SuperiorProjectNetwork SuperiorProjectNetwork
SuperiorProjectNetworkIntID SuperiorProjectNetworkIntID
SuperiorNtwkActivityInternalID SuperiorNtwkActivityInternalID
SuperiorNtwkActivityExternalID _NetworkActivityByInternalKey NetworkActivity
IsMarkedForDeletion I_ProjectNetworkBasicData IsMarkedForDeletion
ScheduledReleaseDate ScheduledReleaseDate
WBSDescriptionendasWBSDescription
ProjectDescription _Project ProjectDescription
_WBSElement _WBSElement
_Project _Project
_NetworkActivityByInternalKey _NetworkActivityByInternalKey
@AbapCatalog.sqlViewName: 'CPROJNTWKGROVW'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Project Network Graph Overview'
@VDM.viewType: #CONSUMPTION
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory : #XL
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE

@Metadata: { ignorePropagatedAnnotations: true,
             allowExtensions:true }

define view C_ProjectNetworkGraphOverview
  as select from I_ProjectNetworkBasicData as ProjectNetwork

  association [0..1] to I_StsObjConcatActiveStsILL     as _Status                       on  $projection.ProjectNetworkObject = _Status.StatusObject

  association [1..1] to C_ProjectForNetworkGraph       as _Project                      on  $projection.ProjectInternalID = _Project.ProjectInternalID
  
  association [0..1] to C_WBSElementForGraph           as _WBSElement                   on  _WBSElement.WBSElementInternalID = $projection.WBSElementInternalID

  association [1..1] to I_NetworkActivityByInternalKey as _NetworkActivityByInternalKey on  $projection.SuperiorProjectNetworkIntID    = _NetworkActivityByInternalKey.ProjectNetworkInternalID
                                                                                        and $projection.SuperiorNtwkActivityInternalID = _NetworkActivityByInternalKey.NetworkActivityInternalID
  association [0..1] to I_WBSElementData_2             as _WBSElementData               on  $projection.WBSElementInternalID = _WBSElementData.WBSElementInternalID
{
      //Header and keys

      @ObjectModel.text.element: ['ProjectNetworkDescription']
      @EndUserText.label: 'Network'
  key ProjectNetwork,
  key cast( ''  as vsnmr_v )                                                                                                                                   as Version,
      @Semantics.text: true
      @EndUserText.label: 'Network Description'
      case
      when _NetworkShortText.LanguageBasedShortText  is not initial
      then _NetworkShortText.LanguageBasedShortText 
      else  ProjectNetworkDescription
      end as ProjectNetworkDescription ,
      //ProjectNetwork.ProjectNetworkDescription                                                                                                                 as ProjectNetworkDescription,

      @EndUserText.label: 'Network Type'
      @ObjectModel.text.element: ['OrderTypeName']
      ProjectNetwork.ProjectNetworkType,
      @Semantics.text: true 
      cast ( ProjectNetwork._OrderType._Text[1:Language = $session.system_language].OrderTypeName as ps_s4_auarttext preserving type)                          as OrderTypeName,
      ProjectNetwork.ProjectNetworkObject                                                                                                                      as ProjectNetworkObject,
      cast (ProjectNetwork.ProjectInternalID as ps_s4_pspnr preserving type)                                                                                   as ProjectInternalID,
      cast (ProjectNetwork.WBSElementInternalID as ps_s4_pspnr preserving type)                                                                                as WBSElementInternalID,
      ProjectNetwork.Plant                                                                                                                                     as Plant,
      ProjectNetwork.MRPController                                                                                                                             as MRPController,
      ProjectNetwork.OrderCategory                                                                                                                             as OrderCategory,
      //General Information

      ProjectNetwork._Plant.PlantName                                                                                                                          as PlantName,
      @EndUserText.label: 'Priority'
      cast ( ProjectNetwork._PriorityCode._Text[1:Language = $session.system_language].PriorityCodeName as ps_s4_priotext preserving type )                    as PriorityCodeName,
      ProjectNetwork.SalesOrder                                                                                                                                as SalesOrder,
      cast ( ltrim(ProjectNetwork.SalesOrderItem, '0' ) as posnr_va)                                                                                           as SalesOrderItem,
      cast ( ProjectNetwork._ControllingArea.ControllingAreaName as ps_s4_bezei)                                                                               as ControllingAreaName,
      cast ( ProjectNetwork._CompanyCode.CompanyCodeName as fac_co_code_name )                                                                                 as CompanyCodeName,
      cast ( ProjectNetwork._BusinessArea._Text[1:Language = $session.system_language].BusinessAreaName as fis_gtext preserving type )                         as BusinessAreaName,
      ProjectNetwork._ProfitCenter[1: ValidityEndDate   >= $session.system_date
                                               and ValidityStartDate <= $session.system_date ]._Text[1: Language = $session.system_language ].ProfitCenterName as ProfitCenterName,
      cast (ProjectNetwork.PlannedStartDate as ps_s4_pstrt)                                                                                                    as PlannedStartDate,
      cast (ProjectNetwork.PlannedEndDate as ps_s4_pende)                                                                                                      as PlannedEndDate,
      cast (ProjectNetwork.ScheduledBasicStartDate as ps_s4_gstrs)                                                                                             as ScheduledBasicStartDate,
      cast (ProjectNetwork.ScheduledBasicEndDate as ps_s4_co_gltrs)                                                                                            as ScheduledBasicEndDate,
      cast (ProjectNetwork.ActualStartDate as cgpl_actualstartdate)                                                                                            as ActualStartDate,
      cast (ProjectNetwork.ActualEndDate as pshlp_actual_finish_de)                                                                                            as ActualEndDate,
      //new fields: start

      SuperiorProjectNetwork,
      SuperiorProjectNetworkIntID,
      SuperiorNtwkActivityInternalID,
      _NetworkActivityByInternalKey.NetworkActivity                                                                                                            as SuperiorNtwkActivityExternalID,
      ProjectNetwork.IsMarkedForDeletion                                                                                                                       as IsMarkedForDeletion,
      //new fields: end

      //new fields 27.09.2021: start

      ScheduledReleaseDate,
      ForecastedStartDate,
      ForecastedEndDate,
      ScheduledForecastedStartDate,
      ScheduledForecastedEndDate,
      //new fields 27.09.2021: end

      //Status

      case
          when _Status.ConcatenatedActiveSystStsName is null
              then ''
          else _Status.ConcatenatedActiveSystStsName
      end                                                                                                                                                      as ConcatenatedActiveSystStsName,
      case
          when _Status.ConcatenatedActiveUserStsName is null
              then ''
          else _Status.ConcatenatedActiveUserStsName
      end                                                                                                                                                      as ConcatenatedActiveUserStsName,
      @ObjectModel.text.element: ['WBSDescription']
      cast (case
         when _WBSElementData.WBSElementExternalID is null
            then ''
         else _WBSElementData.WBSElementExternalID
      end as  ps_posid_edit)                                                                                                                                   as WBSElementExternalID,
      @Semantics.text: true
      case
      when _WBSElementData._WBSElementShortText.LanguageBasedShortText is not initial
      then _WBSElementData._WBSElementShortText.LanguageBasedShortText   
      else _WBSElementData.WBSDescription
      end as WBSDescription ,
      //_WBSElementData.WBSDescription                                                                                                                           as WBSDescription,

      @EndUserText.quickInfo: 'Project Definition'
      @ObjectModel.text.element: ['ProjectDescription']
      cast (case
         when _Project.ProjectExternalID is null
            then ''
         else _Project.ProjectExternalID
      end as ps_pspid_edit)                                                                                                                                    as ProjectExternalID,
      @Semantics.text: true      
      _Project.ProjectDescription                                                                                                                              as ProjectDescription,

      _WBSElement,
      _Project,
      _NetworkActivityByInternalKey
}
where
     ProjectNetworkObject like 'NP%'
  or ProjectNetworkObject like 'V3%'