C_ProjectGraphOverview

DDL: C_PROJECTGRAPHOVERVIEW SQL: CPROJGRAPHOV Type: view CONSUMPTION Package: ODATA_PROJECT_SCHEDULE

Project Graph Overview

C_ProjectGraphOverview is a Consumption CDS View that provides data about "Project Graph Overview" in SAP S/4HANA. It reads from 1 data source (I_Project) and exposes 93 fields with key fields ProjectExternalID, Version. It has 10 associations to related views. It is exposed through 1 OData service (UI_PROJECTOBJECTHIERARCHY). Part of development package ODATA_PROJECT_SCHEDULE.

Data Sources (1)

SourceAliasJoin Type
I_Project I_Project from

Associations (10)

CardinalityTargetAliasCondition
[0..*] C_ProjectNetworkGraphOverview _ProjectNetwork $projection.ProjectInternalID = _ProjectNetwork.ProjectInternalID and _ProjectNetwork.Version = $projection.Version
[0..*] C_WBSElementGraphOverview _WBSElement $projection.ProjectInternalID = _WBSElement.ProjectInternalID and _WBSElement.Version = $projection.Version and _WBSElement.WBSElementHierarchyLevel = 1
[0..1] I_StsObjConcatActiveStsILL _Status _Status.StatusObject = $projection.ProjectObject
[1..1] E_Project _Extension $projection.ProjectExternalID = _Extension.Project
[0..1] I_FreeDfndTblFieldSemanticText _FieldKeyLabel $projection.FreeDefinedTableFieldSemantic = _FieldKeyLabel.FreeDefinedTableFieldSemantic and _FieldKeyLabel.Language = $session.system_language
[1..1] I_ControllingArea _ControllingArea $projection.ControllingArea = _ControllingArea.ControllingArea
[1..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode
[1..1] I_BusinessArea _BusinessArea $projection.BusinessArea = _BusinessArea.BusinessArea
[1..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[1..*] I_CostCenter _CostCenter $projection.CostCenter = _CostCenter.CostCenter and $projection.ControllingArea = _CostCenter.ControllingArea

Annotations (11)

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

OData Services (1)

ServiceBindingVersionContractRelease
UI_PROJECTOBJECTHIERARCHY UI_PS_PROJECT_SCHEDULE_SRV V2 C1 NOT_RELEASED

Fields (93)

KeyFieldSource TableSource FieldDescription
KEY ProjectExternalID ProjectWithCodingMask
KEY Version
ControllingArea ControllingArea
ControllingAreaName
ProjectInternalID ProjectInternalID
ProjectObject ProjectObject
PlanningMethForProjBasicDate PlanningMethForProjBasicDate
PlanningMethForProjFcstdDate PlanningMethForProjFcstdDate
CompanyCode CompanyCode
CompanyCodeName
CreatedByUser CreatedByUser
CreationDate CreationDate
LastChangedByUser LastChangedByUser
LastChangeDate LastChangeDate
ResponsiblePerson ResponsiblePerson
ResponsiblePersonName ResponsiblePersonName Person Responsible Name
ApplicantCode ApplicantCode
ApplicantName ApplicantName Applicant Name
ProjectProfileCode ProjectProfileCode
ProjectProfileCodeText Project Profile Name
BusinessArea BusinessArea
BusinessAreaName
ProfitCenter ProfitCenter
ProfitCenterName
Plant Plant
PlantName _Plant PlantName
CostCenter CostCenter
ControllingObjectClass ControllingObjectClass
ControllingObjectClassName
PlannedStartDate
PlannedEndDate
Currency Currency
FactoryCalendar FactoryCalendar
NetworkProfile NetworkProfile
NetworkProfileName
ProjectHasOwnStock ProjectHasOwnStock
WBSIsStatisticalWBSElement WBSIsStatisticalWBSElement
TaxJurisdiction
TaxJurisdictionName
ProjInterestCalcProfile ProjInterestCalcProfile
ProjInterestCalcProfileName
InvestmentProfile InvestmentProfile
BudgetProfile BudgetProfile
PlanningProfile PlanningProfile
FunctionalArea FunctionalArea
FunctionalAreaName
ProjBasicDatePlanMethName
ProjFcstdDatePlanMethName
SchedulingDurationUnit SchedulingDurationUnit
WBSSchedulingProfile WBSSchedulingProfile
WBSSchedulingProfileName
IsMarkedForDeletion
ProjectVersionDescription
FreeDefinedTableFieldSemantic FreeDefinedTableFieldSemantic Field Key
FreeDfndTableFieldSemanticName _FieldKeyLabel FreeDfndTableFieldSemanticName
FreeDefinedAttribute01 FreeDefinedAttribute01
FreeDefinedAttribute02 FreeDefinedAttribute02
FreeDefinedAttribute03 FreeDefinedAttribute03
FreeDefinedAttribute04 FreeDefinedAttribute04
FreeDefinedQuantity1Unit FreeDefinedQuantity1Unit
FreeDefinedQuantity1 FreeDefinedQuantity1
FreeDefinedQuantity2Unit FreeDefinedQuantity2Unit
FreeDefinedQuantity2 FreeDefinedQuantity2
FreeDefinedAmount1Currency FreeDefinedAmount1Currency
FreeDefinedAmount1
FreeDefinedAmount2Currency FreeDefinedAmount2Currency
FreeDefinedAmount2
FreeDefinedDate1 FreeDefinedDate1
FreeDefinedDate2 FreeDefinedDate2
FreeDefinedIndicator1 FreeDefinedIndicator1
FreeDefinedIndicator2 FreeDefinedIndicator2
FreeDefinedAttribute01Label _FieldKeyLabel FreeDefinedAttribute01Label
FreeDefinedAttribute02Label _FieldKeyLabel FreeDefinedAttribute02Label
FreeDefinedAttribute03Label _FieldKeyLabel FreeDefinedAttribute03Label
FreeDefinedAttribute04Label _FieldKeyLabel FreeDefinedAttribute04Label
FreeDefinedQuantity1Label _FieldKeyLabel FreeDefinedQuantity1Label
FreeDefinedQuantity2Label _FieldKeyLabel FreeDefinedQuantity2Label
FreeDefinedAmount1Label _FieldKeyLabel FreeDefinedAmount1Label
FreeDefinedAmount2Label _FieldKeyLabel FreeDefinedAmount2Label
FreeDefinedDate1Label _FieldKeyLabel FreeDefinedDate1Label
FreeDefinedDate2Label _FieldKeyLabel FreeDefinedDate2Label
FreeDefinedIndicator1Label _FieldKeyLabel FreeDefinedIndicator1Label
FreeDefinedIndicator2Label _FieldKeyLabel FreeDefinedIndicator2Label
_ControllingArea _ControllingArea
_CompanyCode _CompanyCode
_BusinessArea _BusinessArea
_CostCenter _CostCenter
_Plant _Plant
_WBSElement _WBSElement
_ProjectNetwork _ProjectNetwork
_Status _Status
_ResponsiblePerson _ResponsiblePerson
_ProjectApplicant _ProjectApplicant
@AbapCatalog.sqlViewName: 'CPROJGRAPHOV'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.privilegedAssociations:  [ '_Status' ]
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #M
@ObjectModel.usageType.dataClass: #MIXED
@AbapCatalog.preserveKey:true
@Metadata.allowExtensions: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #CONSUMPTION
//@ObjectModel.semanticKey:  [ 'Project' ]

@EndUserText.label: 'Project Graph Overview'
define view C_ProjectGraphOverview
  as select from I_Project
  association [0..*] to C_ProjectNetworkGraphOverview  as _ProjectNetwork  on  $projection.ProjectInternalID = _ProjectNetwork.ProjectInternalID
                                                                           and _ProjectNetwork.Version       = $projection.Version

  association [0..*] to C_WBSElementGraphOverview      as _WBSElement      on  $projection.ProjectInternalID        = _WBSElement.ProjectInternalID
                                                                           and _WBSElement.Version                  = $projection.Version
                                                                           and _WBSElement.WBSElementHierarchyLevel = 1

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

  association [1..1] to E_Project                      as _Extension       on  $projection.ProjectExternalID = _Extension.Project

  association [0..1] to I_FreeDfndTblFieldSemanticText as _FieldKeyLabel   on  $projection.FreeDefinedTableFieldSemantic = _FieldKeyLabel.FreeDefinedTableFieldSemantic
                                                                           and _FieldKeyLabel.Language                   = $session.system_language

  association [1..1] to I_ControllingArea              as _ControllingArea on  $projection.ControllingArea = _ControllingArea.ControllingArea

  association [1..1] to I_CompanyCode                  as _CompanyCode     on  $projection.CompanyCode = _CompanyCode.CompanyCode

  association [1..1] to I_BusinessArea                 as _BusinessArea    on  $projection.BusinessArea = _BusinessArea.BusinessArea

  association [1..1] to I_Plant                        as _Plant           on  $projection.Plant = _Plant.Plant

  association [1..*] to I_CostCenter                   as _CostCenter      on  $projection.CostCenter      = _CostCenter.CostCenter
                                                                           and $projection.ControllingArea = _CostCenter.ControllingArea

{
      @ObjectModel.text.element: 'ProjectDescription'
  key ProjectWithCodingMask                                                                                                                        as ProjectExternalID,

  key cast( ''  as vsnmr_v )                                                                                                                       as Version,

      @Semantics.text: true
      case 
      when _ProjectShortText.LanguageBasedShortText is not initial
      then _ProjectShortText.LanguageBasedShortText  
      else  ProjectDescription 
      end as ProjectDescription, 
      //ProjectDescription,


      @ObjectModel.foreignKey.association: '_ControllingArea'
      ControllingArea,


      cast (  _ControllingArea.ControllingAreaName as ps_s4_bezei )                                                                                as ControllingAreaName,

      //-->Not for exposure

      @UI:{ hidden: true }
      ProjectInternalID,
      @UI:{ hidden: true }
      ProjectObject,
      @UI:{ hidden: true }
      PlanningMethForProjBasicDate,
      @UI:{ hidden: true }
      PlanningMethForProjFcstdDate,

      //<--Not for exposure


      @ObjectModel.foreignKey.association: '_CompanyCode'
      CompanyCode,

      cast (  _CompanyCode.CompanyCodeName as fac_co_code_name )                                                                                   as CompanyCodeName,

      CreatedByUser,

      CreationDate,

      LastChangedByUser,

      @DefaultAggregation: #MAX
      LastChangeDate,

      ResponsiblePerson,
      @EndUserText.label: 'Person Responsible Name'
      ResponsiblePersonName,

      ApplicantCode,
      @EndUserText.label: 'Applicant Name'
      ApplicantName,

      ProjectProfileCode,
      @EndUserText.label: 'Project Profile Name'
      cast(  _ProjectProfileCode._Text[1: Language = $session.system_language ].ProjectProfileCodeText as ps_s4_profi_txt )                        as ProjectProfileCodeText,

      @ObjectModel.foreignKey.association: '_BusinessArea'
      BusinessArea,

      cast (  _BusinessArea._Text[1:Language = $session.system_language].BusinessAreaName as fis_busarea_name )                                    as BusinessAreaName,

      ProfitCenter,

      _ProfitCenter[1: ValidityEndDate   >= $session.system_date
                                         and ValidityStartDate <= $session.system_date ]._Text[1: Language = $session.system_language ].ProfitCenterName,
      @ObjectModel.foreignKey.association: '_Plant'
      Plant,

      _Plant.PlantName,

      @ObjectModel.foreignKey.association: '_CostCenter'
      CostCenter,

      ControllingObjectClass,

      cast(  _ControllingObjectClass._Text[1: Language = $session.system_language ].ControllingObjectClassName as ps_s4_scope_cvtext )             as ControllingObjectClassName,

      cast(PlannedStartDate as ps_plfaz_chg) as PlannedStartDate,

      cast(PlannedEndDate as ps_plsez_chg) as PlannedEndDate,

      ForecastedStartDate,

      ForecastedEndDate,

      Currency,

      FactoryCalendar,

      NetworkProfile,

      cast(  _NetworkProfile._Text[1: Language = $session.system_language ].NetworkProfileName as ps_s4_ntwk_profi_txt )                           as NetworkProfileName,

      ProjectHasOwnStock,

      WBSIsStatisticalWBSElement,

      cast ( TaxJurisdiction as ps_s4_txjcd)                                                                                                       as TaxJurisdiction,

      cast(  _TaxJurisdiction._Text[1:Language = $session.system_language].TaxJurisdictionName as ps_s4_txjt preserving type )                     as TaxJurisdictionName,

      ProjInterestCalcProfile,

      cast (  _ProjInterestCalcProfile._Text[1: Language = $session.system_language ].ProjInterestCalcProfileName as ps_s4_zscht preserving type ) as ProjInterestCalcProfileName,

      InvestmentProfile,

      BudgetProfile,

      PlanningProfile,

      FunctionalArea,

      cast (  _FunctionalArea._Text[1: Language = $session.system_language ].FunctionalAreaName as fac_funcnl_area_name )                          as FunctionalAreaName,

      cast (  _ProjBasicDatePlanMethName._Text[1: Language = $session.system_language ].ProjBasicDatePlanMethName  as ps_s4_planbasic_val_text )   as ProjBasicDatePlanMethName,

      cast (  _ProjFcstdDatePlanMethName._Text[1: Language = $session.system_language ].ProjBasicDatePlanMethName  as ps_s4_planfcst_val_text )    as ProjFcstdDatePlanMethName,

      SchedulingDurationUnit,

      WBSSchedulingProfile,

      _Wbsschedulingprofile._Text[1: Language = $session.system_language ].WBSSchedulingProfileName,

      cast(IsMarkedForDeletion as ps_s4_loevm)                                                                                                     as IsMarkedForDeletion,

      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,
      // end 28.08.2021


      cast ( '' as wty_vetxt )                                                                                                                     as ProjectVersionDescription,

      @EndUserText.label: 'Field Key'
      @ObjectModel.text.element: ['FreeDfndTableFieldSemanticName']
      FreeDefinedTableFieldSemantic,
      @ObjectModel.filter.enabled: false
      @Semantics.text: true
      _FieldKeyLabel.FreeDfndTableFieldSemanticName,

      FreeDefinedAttribute01,

      FreeDefinedAttribute02,

      FreeDefinedAttribute03,

      FreeDefinedAttribute04,

      @Semantics.unitOfMeasure: true
      FreeDefinedQuantity1Unit,
      @Semantics.quantity.unitOfMeasure: 'FreeDefinedQuantity1Unit'
      FreeDefinedQuantity1,

      @Semantics.unitOfMeasure: true
      FreeDefinedQuantity2Unit,
      @Semantics.quantity.unitOfMeasure: 'FreeDefinedQuantity2Unit'
      FreeDefinedQuantity2,

      @Semantics.currencyCode: true
      FreeDefinedAmount1Currency,
      @Semantics.amount.currencyCode: 'FreeDefinedAmount1Currency'
      cast ( FreeDefinedAmount1 as abap.curr( 13, 2 ) )                                                                                            as FreeDefinedAmount1,

      @Semantics.currencyCode: true
      FreeDefinedAmount2Currency,
      @Semantics.amount.currencyCode: 'FreeDefinedAmount2Currency'
      cast ( FreeDefinedAmount2 as abap.curr( 13, 2 ) )                                                                                            as FreeDefinedAmount2,

      FreeDefinedDate1,

      FreeDefinedDate2,

      FreeDefinedIndicator1,

      FreeDefinedIndicator2,

      @Consumption.filter.hidden: true
      _FieldKeyLabel.FreeDefinedAttribute01Label                                                                                                   as FreeDefinedAttribute01Label,

      @Consumption.filter.hidden: true
      _FieldKeyLabel.FreeDefinedAttribute02Label                                                                                                   as FreeDefinedAttribute02Label,

      @Consumption.filter.hidden: true
      _FieldKeyLabel.FreeDefinedAttribute03Label                                                                                                   as FreeDefinedAttribute03Label,

      @Consumption.filter.hidden: true
      _FieldKeyLabel.FreeDefinedAttribute04Label                                                                                                   as FreeDefinedAttribute04Label,

      @Consumption.filter.hidden: true
      _FieldKeyLabel.FreeDefinedQuantity1Label                                                                                                     as FreeDefinedQuantity1Label,

      @Consumption.filter.hidden: true
      _FieldKeyLabel.FreeDefinedQuantity2Label                                                                                                     as FreeDefinedQuantity2Label,

      @Consumption.filter.hidden: true
      _FieldKeyLabel.FreeDefinedAmount1Label                                                                                                       as FreeDefinedAmount1Label,

      @Consumption.filter.hidden: true
      _FieldKeyLabel.FreeDefinedAmount2Label                                                                                                       as FreeDefinedAmount2Label,

      @Consumption.filter.hidden: true
      _FieldKeyLabel.FreeDefinedDate1Label                                                                                                         as FreeDefinedDate1Label,

      @Consumption.filter.hidden: true
      _FieldKeyLabel.FreeDefinedDate2Label                                                                                                         as FreeDefinedDate2Label,

      @Consumption.filter.hidden: true
      _FieldKeyLabel.FreeDefinedIndicator1Label                                                                                                    as FreeDefinedIndicator1Label,

      @Consumption.filter.hidden: true
      _FieldKeyLabel.FreeDefinedIndicator2Label                                                                                                    as FreeDefinedIndicator2Label,

      //-->Associations


      _ControllingArea,
      _CompanyCode,
      _BusinessArea,
      _CostCenter,
      _Plant,
      _WBSElement,
      _ProjectNetwork,
      _Status,

      @UI.hidden: true
      @Consumption.hidden: true
      _ResponsiblePerson,

      @UI.hidden: true
      @Consumption.hidden: true
      _ProjectApplicant

}

where
     ProjectObject like 'PD%'
  or ProjectObject like 'V1%'