I_ProjectData
Project Data
I_ProjectData is a Basic CDS View (Dimension) that provides data about "Project Data" in SAP S/4HANA. It reads from 1 data source (proj) and exposes 90 fields with key field ProjectInternalID. It has 11 associations to related views. Part of development package VDM_PS_ST.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| proj | proj | from |
Associations (11)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_WBSElementData | _WBSElement | $projection.ProjectInternalID = _WBSElement.ProjectInternalID |
| [0..1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [0..1] | I_ControllingArea | _ControllingArea | $projection.ControllingArea = _ControllingArea.ControllingArea |
| [0..*] | I_ProfitCenter | _ProfitCenter | $projection.ControllingArea = _ProfitCenter.ControllingArea and $projection.ProfitCenter = _ProfitCenter.ProfitCenter |
| [1..1] | I_BusinessArea | _BusinessArea | $projection.BusinessArea = _BusinessArea.BusinessArea |
| [1..1] | I_Plant | _Plant | $projection.Plant = _Plant.Plant |
| [1..1] | I_ProjectProfileCode | _ProjectProfileCode | $projection.ProjectProfileCode = _ProjectProfileCode.ProjectProfileCode |
| [1..1] | I_FunctionalArea | _FunctionalArea | $projection.FunctionalArea = _FunctionalArea.FunctionalArea |
| [0..1] | I_FactoryCalendar | _FactoryCalendar | $projection.FactoryCalendar = _FactoryCalendar.FactoryCalendar |
| [0..1] | I_ProjectObjectShortText | _ProjectShortText | _ProjectShortText.Language = $session.system_language and _ProjectShortText.ProjectApplicationIdentifier = 'PS' and _ProjectShortText.ProjectObjectType = 'PD' and $projection.ProjectObject = _ProjectShortText.ProjectObjectNode ---Extension |
| [1..1] | E_Project_2 | _Extension | $projection.ProjectInternalID = _Extension.ProjectInternalID |
Annotations (21)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IPROJECTDATA | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Analytics.dataExtraction.enabled | true | view | |
| Analytics.dataExtraction.delta.changeDataCapture.automatic | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Project Data | view | |
| VDM.viewType | #BASIC | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.preserveKey | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| Analytics.internalName | #LOCAL | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| VDM.lifecycle.status | #DEPRECATED | view | |
| VDM.lifecycle.successor | I_ProjectData_2 | view | |
| Metadata.allowExtensions | true | view | |
| ObjectModel.compositionRoot | true | view | |
| ObjectModel.representativeKey | ProjectInternalID | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MASTER | view |
Fields (90)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectInternalID | |||
| ProjectExternalID | proj | pspid_edit | ||
| Project | ||||
| ProjectDescription | ||||
| ProjectProfileCode | proj | profl | ||
| CompanyCode | ||||
| ControllingArea | ||||
| FunctionalArea | ||||
| ProfitCenter | proj | prctr | ||
| ProjectObject | proj | objnr | ||
| PlannedStartDate | proj | plfaz | ||
| PlannedEndDate | proj | plsez | ||
| WorkCenterLocation | proj | stort | ||
| TaxJurisdiction | proj | txjcd | ||
| ResponsiblePerson | proj | vernr | ||
| ResponsiblePersonName | ||||
| ApplicantCode | ||||
| ApplicantName | proj | astna | ||
| CreatedByUser | proj | ernam | ||
| CreationDate | proj | erdat | ||
| LastChangedByUser | proj | aenam | ||
| LastChangeDate | ||||
| BasicDatesLastScheduledDate | proj | aedte | ||
| FcstdDatesLastScheduledDate | ||||
| FactoryCalendar | ||||
| SchedulingDurationUnit | ||||
| BusinessArea | ||||
| Plant | proj | werks | ||
| Currency | ||||
| BudgetProfile | proj | bprof | ||
| PlanningProfile | proj | pprof | ||
| InvestmentProfile | proj | imprf | ||
| ProjInterestCalcProfile | ||||
| ResultAnalysisInternalID | proj | abgsl | ||
| PartnerDeterminationProcedure | proj | pargr | ||
| ControllingObjectClass | ||||
| NetworkProfile | proj | vprof | ||
| WBSSchedulingProfile | ||||
| PlanningMethForProjBasicDate | ||||
| PlanningMethForProjFcstdDate | ||||
| NetworkAssignmentType | proj | zuord | ||
| WBSIsStatisticalWBSElement | proj | xstat | ||
| WBSIsMarkedForIntegratedPlng | proj | plint | ||
| ProjectHasOwnStock | ||||
| InventorySpecialStockValnType | proj | kzbws | ||
| WBSIsMarkedForAutomReqmtGrpg | proj | grtop | ||
| SalesOrganization | proj | vkorg | ||
| DistributionChannel | proj | vtweg | ||
| Language | proj | txtsp | ||
| WBSElementExternalID | proj | kimsk | ||
| Division | proj | spart | ||
| DynItemProcessorPrfl | proj | dppprof | ||
| StatusProfile | proj | stspd | ||
| WBSStatusProfile | proj | stspr | ||
| SimulationProfile | proj | smprf | ||
| SchedulingScenario | proj | schtyp | ||
| DistributionProfile | proj | pgprf | ||
| JointVenture | proj | vname | ||
| JointVentureCostRecoveryCode | proj | recid | ||
| JointVentureEquityType | proj | etype | ||
| JointVentureObjectType | proj | otype | ||
| JntIntrstBillgClass | proj | jibcl | ||
| JntIntrstBillgSubClass | proj | jibsa | ||
| FreeDefinedTableFieldSemantic | proj | slwid | ||
| FreeDefinedAttribute01 | ||||
| FreeDefinedAttribute02 | ||||
| FreeDefinedAttribute03 | ||||
| FreeDefinedAttribute04 | ||||
| FreeDefinedQuantity1 | ||||
| FreeDefinedQuantity1Unit | ||||
| FreeDefinedQuantity2 | ||||
| FreeDefinedQuantity2Unit | ||||
| FreeDefinedAmount1 | ||||
| FreeDefinedAmount1Currency | ||||
| FreeDefinedAmount2 | ||||
| FreeDefinedAmount2Currency | ||||
| FreeDefinedDate1 | ||||
| FreeDefinedDate2 | ||||
| FreeDefinedIndicator1 | ||||
| FreeDefinedIndicator2 | ||||
| _WBSElement | _WBSElement | |||
| _CompanyCode | _CompanyCode | |||
| _ControllingArea | _ControllingArea | |||
| _ProfitCenter | _ProfitCenter | |||
| _BusinessArea | _BusinessArea | |||
| _Plant | _Plant | |||
| _ProjectProfileCode | _ProjectProfileCode | |||
| _FunctionalArea | _FunctionalArea | |||
| _FactoryCalendar | _FactoryCalendar | |||
| _ProjectShortText | _ProjectShortText |
@AbapCatalog: {
sqlViewName: 'IPROJECTDATA',
compiler.compareFilter: true
}
@Analytics: { dataCategory: #DIMENSION, dataExtraction: {enabled: true, delta.changeDataCapture: {automatic: true}} }
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Project Data'
@VDM.viewType: #BASIC
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.preserveKey:true
@Metadata.ignorePropagatedAnnotations:true
@Analytics.internalName: #LOCAL
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'I_ProjectData_2'
@Metadata.allowExtensions: true
@ObjectModel: {
compositionRoot: true,
//Keys
representativeKey: 'ProjectInternalID',
semanticKey: [ 'Project' ],
usageType: {
serviceQuality: #B,
sizeCategory : #L,
dataClass: #MASTER
},
supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_DIMENSION, #EXTRACTION_DATA_SOURCE ]
}
define view I_ProjectData
as select from proj
association [0..*] to I_WBSElementData as _WBSElement on $projection.ProjectInternalID = _WBSElement.ProjectInternalID
association [0..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [0..1] to I_ControllingArea as _ControllingArea on $projection.ControllingArea = _ControllingArea.ControllingArea
association [0..*] to I_ProfitCenter as _ProfitCenter on $projection.ControllingArea = _ProfitCenter.ControllingArea
and $projection.ProfitCenter = _ProfitCenter.ProfitCenter
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..1] to I_ProjectProfileCode as _ProjectProfileCode on $projection.ProjectProfileCode = _ProjectProfileCode.ProjectProfileCode
association [1..1] to I_FunctionalArea as _FunctionalArea on $projection.FunctionalArea = _FunctionalArea.FunctionalArea
association [0..1] to I_FactoryCalendar as _FactoryCalendar on $projection.FactoryCalendar = _FactoryCalendar.FactoryCalendar
// Multilanguage Short text
association [0..1] to I_ProjectObjectShortText as _ProjectShortText on _ProjectShortText.Language = $session.system_language
and _ProjectShortText.ProjectApplicationIdentifier = 'PS'
and _ProjectShortText.ProjectObjectType = 'PD'
and $projection.ProjectObject = _ProjectShortText.ProjectObjectNode
---Extension Association
association [1..1] to E_Project_2 as _Extension on $projection.ProjectInternalID = _Extension.ProjectInternalID
{
//Entity description fields
key cast ( proj.pspnr as ps_s4_proj_pspnr preserving type ) as ProjectInternalID,
@ObjectModel.text.element: 'ProjectDescription'
proj.pspid_edit as ProjectExternalID,
cast ( proj.pspid as ps_p_pspid preserving type ) as Project,
@Semantics.text: true
cast ( proj.post1 as ps_s4_proj_post1_v1 preserving type) as ProjectDescription,
@ObjectModel.foreignKey.association: '_ProjectProfileCode'
proj.profl as ProjectProfileCode,
//Organizational fields
@ObjectModel.foreignKey.association: '_CompanyCode'
cast ( proj.vbukr as bukrs preserving type ) as CompanyCode,
@ObjectModel.foreignKey.association: '_ControllingArea'
cast ( proj.vkokr as kokrs preserving type ) as ControllingArea,
@ObjectModel.foreignKey.association: '_FunctionalArea'
cast ( proj.func_area as fkber preserving type ) as FunctionalArea,
@ObjectModel.foreignKey.association: '_ProfitCenter'
proj.prctr as ProfitCenter,
//Dimensions
proj.objnr as ProjectObject,
//Dates
@Semantics.calendar.dayOfMonth: true
proj.plfaz as PlannedStartDate,
@Semantics.calendar.dayOfMonth: true
proj.plsez as PlannedEndDate,
proj.stort as WorkCenterLocation,
// Tax Jurisdiction Code
proj.txjcd as TaxJurisdiction,
proj.vernr as ResponsiblePerson,
@Semantics.text: true
cast ( proj.verna as ps_s4_verna ) as ResponsiblePersonName,
cast ( proj.astnr as ps_s4_astnr ) as ApplicantCode,
@Semantics.text: true
proj.astna as ApplicantName,
@Semantics.user.createdBy: true
proj.ernam as CreatedByUser,
@Semantics.systemDate.createdAt: true
proj.erdat as CreationDate,
@Semantics.user.lastChangedBy: true
proj.aenam as LastChangedByUser,
@Semantics.systemDate.lastChangedAt: true
cast ( proj.aedat as ps_s4_aedat ) as LastChangeDate,
@Semantics.calendar.dayOfMonth: true
proj.aedte as BasicDatesLastScheduledDate,
@Semantics.calendar.dayOfMonth: true
cast ( proj.aedtp as ps_aedtp ) as FcstdDatesLastScheduledDate,
@ObjectModel.foreignKey.association: '_FactoryCalendar'
cast ( proj.kalid as appca ) as FactoryCalendar,
cast ( proj.zteht as cgpl_duration_unit ) as SchedulingDurationUnit,
@Semantics.calendar.dayOfMonth: true
cast ( proj.sprog as pshlp_forecast_start_de ) as ForecastedStartDate,
@Semantics.calendar.dayOfMonth: true
cast ( proj.eprog as ps_s4_forecast_finish ) as ForecastedEndDate,
@ObjectModel.foreignKey.association: '_BusinessArea'
cast ( proj.vgsbr as gsber ) as BusinessArea,
@ObjectModel.foreignKey.association: '_Plant'
proj.werks as Plant,
cast ( proj.pwhie as ps_pwhie ) as Currency,
proj.bprof as BudgetProfile,
proj.pprof as PlanningProfile,
proj.imprf as InvestmentProfile,
cast ( proj.zschm as ps_zschm ) as ProjInterestCalcProfile,
proj.abgsl as ResultAnalysisInternalID,
proj.pargr as PartnerDeterminationProcedure,
cast ( proj.scope as ps_s4_scope_cv ) as ControllingObjectClass,
proj.vprof as NetworkProfile,
cast ( proj.scprf as ps_s4_schdprf ) as WBSSchedulingProfile,
cast ( proj.vgplf as ps_s4_vgplf preserving type ) as PlanningMethForProjBasicDate,
cast ( proj.ewplf as ps_s4_ewplf preserving type ) as PlanningMethForProjFcstdDate,
proj.zuord as NetworkAssignmentType,
proj.xstat as WBSIsStatisticalWBSElement,
proj.plint as WBSIsMarkedForIntegratedPlng,
@Semantics.booleanIndicator: true
cast ( proj.besta as psb_stock ) as ProjectHasOwnStock,
proj.kzbws as InventorySpecialStockValnType,
proj.grtop as WBSIsMarkedForAutomReqmtGrpg,
proj.vkorg as SalesOrganization,
proj.vtweg as DistributionChannel,
@Semantics.language
proj.txtsp as Language,
proj.kimsk as WBSElementExternalID,
proj.spart as Division,
proj.dppprof as DynItemProcessorPrfl,
proj.stspd as StatusProfile,
proj.stspr as WBSStatusProfile,
proj.smprf as SimulationProfile,
proj.schtyp as SchedulingScenario,
proj.pgprf as DistributionProfile,
//joint venture fields
proj.vname as JointVenture,
proj.recid as JointVentureCostRecoveryCode,
proj.etype as JointVentureEquityType,
proj.otype as JointVentureObjectType,
proj.jibcl as JntIntrstBillgClass,
proj.jibsa as JntIntrstBillgSubClass,
proj.slwid as FreeDefinedTableFieldSemantic,
cast ( proj.usr00 as usr00prps preserving type ) as FreeDefinedAttribute01,
cast ( proj.usr01 as usr01prps preserving type ) as FreeDefinedAttribute02,
cast ( proj.usr02 as usr02prps preserving type ) as FreeDefinedAttribute03,
cast ( proj.usr03 as usr03prps preserving type ) as FreeDefinedAttribute04,
@Semantics.quantity.unitOfMeasure:'FreeDefinedQuantity1Unit'
cast ( proj.usr04 as usr04prps preserving type ) as FreeDefinedQuantity1,
cast ( proj.use04 as use04prps preserving type ) as FreeDefinedQuantity1Unit,
@Semantics.quantity.unitOfMeasure:'FreeDefinedQuantity2Unit'
cast ( proj.usr05 as usr05prps preserving type ) as FreeDefinedQuantity2,
cast ( proj.use05 as use05prps preserving type ) as FreeDefinedQuantity2Unit,
@Semantics.amount.currencyCode: 'FreeDefinedAmount1Currency'
cast ( proj.usr06 as abap.curr( 10, 2 ) ) as FreeDefinedAmount1,
cast ( proj.use06 as use06prps preserving type ) as FreeDefinedAmount1Currency,
@Semantics.amount.currencyCode: 'FreeDefinedAmount2Currency'
cast ( proj.usr07 as abap.curr( 10, 2 ) ) as FreeDefinedAmount2,
cast ( proj.use07 as use07prps preserving type ) as FreeDefinedAmount2Currency,
cast ( proj.usr08 as usr08prps preserving type ) as FreeDefinedDate1,
cast ( proj.usr09 as usr09prps preserving type ) as FreeDefinedDate2,
cast ( proj.usr10 as usr10prps preserving type ) as FreeDefinedIndicator1,
cast ( proj.usr11 as usr11prps preserving type ) as FreeDefinedIndicator2,
//Associations
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_WBSElement,
_CompanyCode,
_ControllingArea,
_ProfitCenter,
_BusinessArea,
_Plant,
_ProjectProfileCode,
_FunctionalArea,
_FactoryCalendar,
//Multi Language Short text
_ProjectShortText
}
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