P_ProjScheduleProjectAttrib
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)
| Source | Alias | Join Type |
|---|---|---|
| I_Project | I_Project | from |
Associations (6)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA