P_ProjScheduleProjectAttrib

DDL: P_PROJSCHEDULEPROJECTATTRIB SQL: PPROJATTR Type: view COMPOSITE Package: ODATA_PROJECT_SCHEDULE

Project Attributes

P_ProjScheduleProjectAttrib is a Composite CDS View that provides data about "Project Attributes" in SAP S/4HANA. It reads from 1 data source (I_Project) and exposes 48 fields with key field Project. It has 6 associations to related views. Part of development package ODATA_PROJECT_SCHEDULE.

Data Sources (1)

SourceAliasJoin Type
I_Project I_Project from

Associations (6)

CardinalityTargetAliasCondition
[0..1] I_StsObjConcatActiveStsILL _StsObjConcatActiveStsILL _StsObjConcatActiveStsILL.StatusObject = $projection.ProjectObject
[1..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[1..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode
[1..1] I_BusinessArea _BusinessArea $projection.BusinessArea = _BusinessArea.BusinessArea
[1..*] I_CostCenter _CostCenter $projection.CostCenter = _CostCenter.CostCenter and $projection.ControllingArea = _CostCenter.ControllingArea
[1..1] I_ControllingArea _ControllingArea $projection.ControllingArea = _ControllingArea.ControllingArea

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PPROJATTR view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #COMPOSITE view
VDM.private true view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.dataClass #MASTER view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (48)

KeyFieldSource TableSource FieldDescription
KEY Project Project
ProjectWithCodingMask ProjectWithCodingMask
ProjectObject ProjectObject
ObjectType
PlannedStartDate PlannedStartDate
PlannedEndDate PlannedEndDate
FreeDefinedAttribute01 FreeDefinedAttribute01
FreeDefinedAttribute02 FreeDefinedAttribute02
FreeDefinedAttribute03 FreeDefinedAttribute03
FreeDefinedAttribute04 FreeDefinedAttribute04
FreeDefinedQuantity1 FreeDefinedQuantity1
FreeDefinedQuantity1Unit FreeDefinedQuantity1Unit
FreeDefinedQuantity2 FreeDefinedQuantity2
FreeDefinedQuantity2Unit FreeDefinedQuantity2Unit
FreeDefinedAmount1 FreeDefinedAmount1
FreeDefinedAmount1Currency FreeDefinedAmount1Currency
FreeDefinedAmount2 FreeDefinedAmount2
FreeDefinedAmount2Currency FreeDefinedAmount2Currency
FreeDefinedDate1 FreeDefinedDate1
FreeDefinedDate2 FreeDefinedDate2
FreeDefinedIndicator1 FreeDefinedIndicator1
FreeDefinedIndicator2 FreeDefinedIndicator2
ResponsiblePersonName ResponsiblePersonName
Currency Currency
Plant Plant
CompanyCode CompanyCode
ApplicantCode ApplicantCode
CreationDate CreationDate
CreatedByUser CreatedByUser
LastChangeDate LastChangeDate
ResponsiblePerson ResponsiblePerson
CostCenter CostCenter
ControllingArea ControllingArea
ProjectProfileCode _ProjectProfileCode ProjectProfileCode
_Text _ProjectProfileCode _Text
ProfitCenter ProfitCenter
FactoryCalendar FactoryCalendar
BudgetProfile BudgetProfile
BusinessArea BusinessArea
ProjInterestCalcProfile ProjInterestCalcProfile
LastChangedByUser LastChangedByUser
_Plant _Plant
_CompanyCode _CompanyCode
_BusinessArea _BusinessArea
_CostCenter _CostCenter
_ControllingArea _ControllingArea
_ResponsiblePerson _ResponsiblePerson
_ProjectApplicant _ProjectApplicant
@AbapCatalog.sqlViewName: 'PPROJATTR'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #COMPOSITE
@VDM.private: true
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory : #M
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE

define view P_ProjScheduleProjectAttrib
  as select from I_Project
  association [0..1] to I_StsObjConcatActiveStsILL as _StsObjConcatActiveStsILL on _StsObjConcatActiveStsILL.StatusObject = $projection.ProjectObject
  association [1..1] to I_Plant                      as _Plant                     on  $projection.Plant = _Plant.Plant
  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..*] to I_CostCenter                 as _CostCenter                on  $projection.CostCenter      = _CostCenter.CostCenter
                                                                                   and $projection.ControllingArea = _CostCenter.ControllingArea
  association [1..1] to I_ControllingArea            as _ControllingArea           on  $projection.ControllingArea = _ControllingArea.ControllingArea
{
  key Project,
  ProjectWithCodingMask,
  ProjectObject,
  case 
  when I_Project._ProjectShortText.LanguageBasedShortText is not initial
  then I_Project._ProjectShortText.LanguageBasedShortText
  else ProjectDescription 
  end as ProjectDescription,
  //ProjectDescription,

  'PD' as ObjectType,
  PlannedStartDate,
  PlannedEndDate,
  ForecastedStartDate,
  ForecastedEndDate,
  FreeDefinedAttribute01,
  FreeDefinedAttribute02,
  FreeDefinedAttribute03,
  FreeDefinedAttribute04,
  FreeDefinedQuantity1,
  FreeDefinedQuantity1Unit,
  FreeDefinedQuantity2,
  FreeDefinedQuantity2Unit,
  FreeDefinedAmount1,
  FreeDefinedAmount1Currency,
  FreeDefinedAmount2,
  FreeDefinedAmount2Currency,
  FreeDefinedDate1,
  FreeDefinedDate2,
  FreeDefinedIndicator1,
  FreeDefinedIndicator2,
  ResponsiblePersonName,
  Currency,
  @ObjectModel.foreignKey.association: '_Plant'
  Plant,
  @ObjectModel.foreignKey.association: '_CompanyCode'
  CompanyCode,
  ApplicantCode,
  CreationDate,
  CreatedByUser,
  LastChangeDate,
  //Remove Status fields

//  case

//  when _StsObjConcatActiveStsILL.ConcatenatedActiveSystStsName is null

//    then ''

//  else 

//    _StsObjConcatActiveStsILL.ConcatenatedActiveSystStsName

//  end as ConcatenatedActiveSystStsName,

//  case

//  when _StsObjConcatActiveStsILL.ConcatenatedActiveUserStsName is null

//    then ''

//  else 

//    _StsObjConcatActiveStsILL.ConcatenatedActiveUserStsName

//  end as ConcatenatedActiveUserStsName,

  //Remove Status fields

  //New Dummy fields

  '' as ConcatenatedActiveSystStsName,
  '' as ConcatenatedActiveUserStsName,
  //New Dummy fields

  ResponsiblePerson,
  @ObjectModel.foreignKey.association: '_CostCenter'
  CostCenter,
  @ObjectModel.foreignKey.association: '_ControllingArea'
  ControllingArea,

  //yellow*

  _ProjectProfileCode.ProjectProfileCode,
  _ProjectProfileCode._Text,
  ////Version

  ////ProjectProfileCodeText,

  //*yellow



  ProfitCenter,
  FactoryCalendar,
  //yellow*

  BudgetProfile,
  @ObjectModel.foreignKey.association: '_BusinessArea'
  BusinessArea,
  //*yellow

  ProjInterestCalcProfile,
  LastChangedByUser,
  _StsObjConcatActiveStsILL,
  _Plant,
  _CompanyCode,
  _BusinessArea,
  _CostCenter,
  _ControllingArea,
  
  @UI.hidden: true
  @Consumption.hidden: true
  _ResponsiblePerson,

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