I_ProjectVersion
Project Version Details
I_ProjectVersion is a Basic CDS View that provides data about "Project Version Details" in SAP S/4HANA. It reads from 1 data source (vsproj_cn) and exposes 102 fields with key fields SAPClient, ProjectInternalID, Version. It has 21 associations to related views. Part of development package VDM_PS_ST.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| vsproj_cn | vsproj_cn | from |
Associations (21)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_ControllingArea | _ControllingArea | $projection.ControllingArea = _ControllingArea.ControllingArea |
| [1..1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [1..*] | I_CostCenter | _CostCenter | $projection.CostCenter = _CostCenter.CostCenter and $projection.ControllingArea = _CostCenter.ControllingArea |
| [1..*] | I_WBSElementVersion | _WBSElement | $projection.ProjectInternalID = _WBSElement.ProjectInternalID and $projection.Version = _WBSElement.Version |
| [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_ControllingObjectClass | _ControllingObjectClass | $projection.ControllingObjectClass = _ControllingObjectClass.ControllingObjectClass |
| [1..*] | I_NetworkProfile | _NetworkProfile | $projection.NetworkProfile = _NetworkProfile.NetworkProfile |
| [1..1] | I_Interestcalculationprofile | _ProjInterestCalcProfile | $projection.ProjInterestCalcProfile = _ProjInterestCalcProfile.ProjInterestCalcProfile |
| [1..1] | I_FunctionalArea | _FunctionalArea | $projection.FunctionalArea = _FunctionalArea.FunctionalArea |
| [1..*] | I_ProfitCenter | _ProfitCenter | $projection.ProfitCenter = _ProfitCenter.ProfitCenter and $projection.ControllingArea = _ProfitCenter.ControllingArea |
| [1..*] | I_TaxJurisdiction | _TaxJurisdiction | $projection.TaxJurisdiction = _TaxJurisdiction.TaxJurisdiction |
| [1..1] | I_Wbsschedulingprofile | _Wbsschedulingprofile | $projection.WBSSchedulingProfile = _Wbsschedulingprofile.WBSSchedulingProfile |
| [1..1] | I_ProjectByInternalKey | _ProjectByInternalKey | $projection.ProjectInternalID = _ProjectByInternalKey.ProjectInternalID |
| [1..1] | I_PlanningMethod | _ProjBasicDatePlanMethName | $projection.PlanningMethForProjBasicDate = _ProjBasicDatePlanMethName.PlanningMethForProjBasicDate |
| [1..1] | I_PlanningMethod | _ProjFcstdDatePlanMethName | $projection.PlanningMethForProjFcstdDate = _ProjFcstdDatePlanMethName.PlanningMethForProjBasicDate |
| [1..1] | E_ProjectVersion | _Extension | vsproj_cn.vsnmr = _Extension.Version and vsproj_cn.pspid = _Extension.Project |
| [0..1] | I_ProjectResponsiblePerson | _ResponsiblePerson | $projection.ResponsiblePerson = _ResponsiblePerson.ResponsiblePerson |
| [0..1] | I_ProjectApplicant | _ProjectApplicant | $projection.ApplicantCode = _ProjectApplicant.ApplicantCode |
| [0..1] | I_ProjectObjectShortText | _ProjectShortText | _ProjectShortText.Language = $session.system_language and _ProjectShortText.ProjectApplicationIdentifier = 'PS' and _ProjectShortText.ProjectObjectType = 'PD' and $projection.ProjectObject = _ProjectShortText.ProjectObjectNode |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IPROJECTVERSION | view | |
| VDM.viewType | #BASIC | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Project Version Details | view | |
| ObjectModel.representativeKey | Version | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view |
Fields (102)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | SAPClient | vsproj_cn | mandt | |
| KEY | ProjectInternalID | vsproj_cn | pspnr | |
| KEY | Version | |||
| ObjectType | ||||
| Project | ||||
| ProjectWithCodingMask | vsproj_cn | pspid_edit | ||
| ProjectDescription | ||||
| ProjectObject | vsproj_cn | objnr | ||
| CreatedByUser | ||||
| CreationDate | ||||
| LastChangedByUser | ||||
| LastChangeDate | ||||
| ResponsiblePerson | ||||
| ResponsiblePersonName | ||||
| ApplicantCode | ||||
| ApplicantName | vsproj_cn | astna | ||
| CompanyCode | ||||
| BusinessArea | ||||
| ControllingArea | ||||
| ProfitCenter | vsproj_cn | prctr | ||
| Currency | ||||
| NetworkAssignmentType | vsproj_cn | zuord | ||
| WBSElmntDatesIsDetailed | vsproj_cn | trmeq | ||
| PlannedStartDate | ||||
| PlannedEndDate | ||||
| Plant | vsproj_cn | werks | ||
| FactoryCalendar | ||||
| NetworkHdrIsVisibleToUser | vsproj_cn | nzanz | ||
| NetworkProfile | vsproj_cn | vprof | ||
| ProjectProfileCode | vsproj_cn | profl | ||
| BudgetProfile | vsproj_cn | bprof | ||
| Language | vsproj_cn | txtsp | ||
| CostCenter | ||||
| CostObject | vsproj_cn | ktrg | ||
| BasicDatesLastScheduledDate | vsproj_cn | aedte | ||
| FcstdDatesLastScheduledDate | ||||
| ProjectHasOwnStock | ||||
| ControllingObjectClass | ||||
| WBSIsStatisticalWBSElement | vsproj_cn | xstat | ||
| TaxJurisdiction | ||||
| ProjInterestCalcProfile | ||||
| InvestmentProfile | vsproj_cn | imprf | ||
| PaymentPlanProfile | vsproj_cn | fmprf | ||
| ResultAnalysisInternalID | vsproj_cn | abgsl | ||
| PlanningProfile | vsproj_cn | pprof | ||
| WBSIsMarkedForIntegratedPlng | vsproj_cn | plint | ||
| IsMarkedForDeletion | ||||
| InventorySpecialStockValnType | vsproj_cn | kzbws | ||
| WBSIsMarkedForAutomReqmtGrpg | vsproj_cn | grtop | ||
| WorkCenterLocation | ||||
| FunctionalArea | ||||
| SalesOrganization | vsproj_cn | vkorg | ||
| DistributionChannel | vsproj_cn | vtweg | ||
| Division | vsproj_cn | spart | ||
| DynItemProcessorPrfl | vsproj_cn | dppprof | ||
| JointVenture | vsproj_cn | vname | ||
| JointVentureCostRecoveryCode | vsproj_cn | recid | ||
| JointVentureEquityType | vsproj_cn | etype | ||
| JointVentureObjectType | vsproj_cn | otype | ||
| JointVentureClass | vsproj_cn | jibcl | ||
| JointVentureSubClass | vsproj_cn | jibsa | ||
| PlanningMethForProjBasicDate | ||||
| PlanningMethForProjFcstdDate | ||||
| SchedulingDurationUnit | ||||
| WBSSchedulingProfile | ||||
| FreeDefinedTableFieldSemantic | vsproj_cn | slwid | ||
| FreeDefinedAttribute01 | ||||
| FreeDefinedAttribute02 | ||||
| FreeDefinedAttribute03 | ||||
| FreeDefinedAttribute04 | ||||
| FreeDefinedQuantity1 | ||||
| FreeDefinedQuantity1Unit | ||||
| FreeDefinedQuantity2 | ||||
| FreeDefinedQuantity2Unit | ||||
| FreeDefinedAmount1 | ||||
| FreeDefinedAmount1Currency | ||||
| FreeDefinedAmount2 | ||||
| FreeDefinedAmount2Currency | ||||
| FreeDefinedDate1 | ||||
| FreeDefinedDate2 | ||||
| FreeDefinedIndicator1 | ||||
| FreeDefinedIndicator2 | ||||
| _ControllingArea | _ControllingArea | |||
| _CompanyCode | _CompanyCode | |||
| _BusinessArea | _BusinessArea | |||
| _CostCenter | _CostCenter | |||
| _Plant | _Plant | |||
| _WBSElement | _WBSElement | |||
| _ProjectProfileCode | _ProjectProfileCode | |||
| _ControllingObjectClass | _ControllingObjectClass | |||
| _NetworkProfile | _NetworkProfile | |||
| _ProjInterestCalcProfile | _ProjInterestCalcProfile | |||
| _FunctionalArea | _FunctionalArea | |||
| _TaxJurisdiction | _TaxJurisdiction | |||
| _Wbsschedulingprofile | _Wbsschedulingprofile | |||
| _ProfitCenter | _ProfitCenter | |||
| _ProjectByInternalKey | _ProjectByInternalKey | |||
| _ProjBasicDatePlanMethName | _ProjBasicDatePlanMethName | |||
| _ProjFcstdDatePlanMethName | _ProjFcstdDatePlanMethName | |||
| _ResponsiblePerson | _ResponsiblePerson | |||
| _ProjectApplicant | _ProjectApplicant | |||
| _ProjectShortText | _ProjectShortText |
@AbapCatalog.sqlViewName: 'IPROJECTVERSION'
@VDM.viewType: #BASIC
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
//@AccessControl.privilegedAssociations: [ '_Extension' ]
@EndUserText.label: 'Project Version Details'
@ObjectModel.representativeKey: 'Version'
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory : #XL
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MASTER
@AccessControl.personalData.blocking: #REQUIRED
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
define view I_ProjectVersion
as select from vsproj_cn
// Commented as part of VH hardening, to get result of all operative and version projects
// inner join proj on vsproj_cn.pspnr = proj.pspnr
//inner join vskopf on vsproj_cn.vsnmr = vskopf.vsnmr
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..*] to I_CostCenter as _CostCenter on $projection.CostCenter = _CostCenter.CostCenter
and $projection.ControllingArea = _CostCenter.ControllingArea
association [1..*] to I_WBSElementVersion as _WBSElement on $projection.ProjectInternalID = _WBSElement.ProjectInternalID
and $projection.Version = _WBSElement.Version
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_ControllingObjectClass as _ControllingObjectClass on $projection.ControllingObjectClass = _ControllingObjectClass.ControllingObjectClass
association [1..*] to I_NetworkProfile as _NetworkProfile on $projection.NetworkProfile = _NetworkProfile.NetworkProfile
association [1..1] to I_Interestcalculationprofile as _ProjInterestCalcProfile on $projection.ProjInterestCalcProfile = _ProjInterestCalcProfile.ProjInterestCalcProfile
association [1..1] to I_FunctionalArea as _FunctionalArea on $projection.FunctionalArea = _FunctionalArea.FunctionalArea
association [1..*] to I_ProfitCenter as _ProfitCenter on $projection.ProfitCenter = _ProfitCenter.ProfitCenter
and $projection.ControllingArea = _ProfitCenter.ControllingArea
association [1..*] to I_TaxJurisdiction as _TaxJurisdiction on $projection.TaxJurisdiction = _TaxJurisdiction.TaxJurisdiction
association [1..1] to I_Wbsschedulingprofile as _Wbsschedulingprofile on $projection.WBSSchedulingProfile = _Wbsschedulingprofile.WBSSchedulingProfile
//association [0..*] to I_Projecttext as _ProjLangBsdDescription on $projection.ProjectObject = _ProjLangBsdDescription.ProjectObject
association [1..1] to I_ProjectByInternalKey as _ProjectByInternalKey on $projection.ProjectInternalID = _ProjectByInternalKey.ProjectInternalID
association [1..1] to I_PlanningMethod as _ProjBasicDatePlanMethName on $projection.PlanningMethForProjBasicDate = _ProjBasicDatePlanMethName.PlanningMethForProjBasicDate
association [1..1] to I_PlanningMethod as _ProjFcstdDatePlanMethName on $projection.PlanningMethForProjFcstdDate = _ProjFcstdDatePlanMethName.PlanningMethForProjBasicDate
//commented out since not used : association [0..1] to I_ProjectVersionHeader as _ProjectVersionHeader on $projection.Version = _ProjectVersionHeader.ProjectVersionNumber //and $projection.ProjectObject = _ProjectVersionHeader.ProjectObjectNumber
association [1..1] to E_ProjectVersion as _Extension on vsproj_cn.vsnmr = _Extension.Version
and vsproj_cn.pspid = _Extension.Project
// DPP Changes
// Person in Responsible for Project
association [0..1] to I_ProjectResponsiblePerson as _ResponsiblePerson on $projection.ResponsiblePerson = _ResponsiblePerson.ResponsiblePerson
// Project Applicant
association [0..1] to I_ProjectApplicant as _ProjectApplicant on $projection.ApplicantCode = _ProjectApplicant.ApplicantCode
// 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
{
key vsproj_cn.mandt as SAPClient,
@ObjectModel.foreignKey.association: '_ProjectByInternalKey'
key vsproj_cn.pspnr as ProjectInternalID,
key cast ( vsproj_cn.vsnmr as vsnmr_v preserving type ) as Version,
'Project' as ObjectType,
//@ObjectModel.text.element: 'ProjectDescription'
cast ( vsproj_cn.pspid as psb_bo_pspid_de preserving type ) as Project,
vsproj_cn.pspid_edit /* Not finalized field - please donot use */ as ProjectWithCodingMask, //Not finalized field - please donot use
//@Semantics.text: true
cast ( vsproj_cn.post1 as ps_s4_proj_post1 ) as ProjectDescription,
//@ObjectModel.text.association:'_ProjLangBsdDescription'
vsproj_cn.objnr as ProjectObject,
cast (vsproj_cn.ernam as ernam ) as CreatedByUser,
cast (vsproj_cn.erdat as erdat) as CreationDate,
cast ( vsproj_cn.aenam as ps_s4_aenam ) as LastChangedByUser,
cast ( vsproj_cn.aedat as ps_s4_aedat ) as LastChangeDate,
// @ObjectModel.text.element: 'ResponsiblePersonName'
cast ( vsproj_cn.vernr as ps_s4_vernr ) as ResponsiblePerson,
//@Semantics.text: true
cast ( vsproj_cn.verna as ps_s4_verna ) as ResponsiblePersonName,
//@ObjectModel.text.element: 'ApplicantCode'
cast ( vsproj_cn.astnr as ps_s4_astnr ) as ApplicantCode,
//@Semantics.text: true
vsproj_cn.astna as ApplicantName,
@ObjectModel.foreignKey.association: '_CompanyCode'
cast ( vsproj_cn.vbukr as bukrs ) as CompanyCode,
@ObjectModel.foreignKey.association: '_BusinessArea'
cast ( vsproj_cn.vgsbr as gsber ) as BusinessArea,
@ObjectModel.foreignKey.association: '_ControllingArea'
cast ( vsproj_cn.vkokr as kokrs ) as ControllingArea,
vsproj_cn.prctr as ProfitCenter,
cast ( vsproj_cn.pwhie as ps_pwhie ) as Currency,
vsproj_cn.zuord as NetworkAssignmentType,
vsproj_cn.trmeq as WBSElmntDatesIsDetailed,
@Semantics.calendar.dayOfMonth: true
cast ( vsproj_cn.plfaz as bkk_odate_start ) as PlannedStartDate,
@Semantics.calendar.dayOfMonth: true
cast ( vsproj_cn.plsez as ende_term ) as PlannedEndDate,
@ObjectModel.foreignKey.association: '_Plant'
vsproj_cn.werks as Plant,
cast ( vsproj_cn.kalid as appca ) as FactoryCalendar,
vsproj_cn.nzanz as NetworkHdrIsVisibleToUser,
vsproj_cn.vprof as NetworkProfile,
vsproj_cn.profl as ProjectProfileCode,
vsproj_cn.bprof as BudgetProfile,
vsproj_cn.txtsp as Language,
@ObjectModel.foreignKey.association: '_CostCenter'
cast ( vsproj_cn.kostl as kostl ) as CostCenter,
vsproj_cn.ktrg as CostObject,
@Semantics.calendar.dayOfMonth: true
vsproj_cn.aedte as BasicDatesLastScheduledDate,
@Semantics.calendar.dayOfMonth: true
cast ( vsproj_cn.aedtp as ps_aedtp ) as FcstdDatesLastScheduledDate,
cast ( vsproj_cn.besta as psb_stock ) as ProjectHasOwnStock,
cast ( vsproj_cn.scope as ps_s4_scope_cv ) as ControllingObjectClass,
vsproj_cn.xstat as WBSIsStatisticalWBSElement,
cast ( vsproj_cn.txjcd as wb2_txjcd_busvol ) as TaxJurisdiction,
cast ( vsproj_cn.zschm as ps_zschm ) as ProjInterestCalcProfile,
vsproj_cn.imprf as InvestmentProfile,
vsproj_cn.fmprf as PaymentPlanProfile,
vsproj_cn.abgsl as ResultAnalysisInternalID,
vsproj_cn.pprof as PlanningProfile,
vsproj_cn.plint as WBSIsMarkedForIntegratedPlng,
cast ( vsproj_cn.loevm as ps_s4_loevm ) as IsMarkedForDeletion,
vsproj_cn.kzbws as InventorySpecialStockValnType,
vsproj_cn.grtop as WBSIsMarkedForAutomReqmtGrpg,
cast ( vsproj_cn.stort as ps_stort ) as WorkCenterLocation,
cast ( vsproj_cn.func_area as fkber ) as FunctionalArea,
vsproj_cn.vkorg as SalesOrganization,
vsproj_cn.vtweg as DistributionChannel,
vsproj_cn.spart as Division,
vsproj_cn.dppprof as DynItemProcessorPrfl,
vsproj_cn.vname as JointVenture,
vsproj_cn.recid as JointVentureCostRecoveryCode,
vsproj_cn.etype as JointVentureEquityType,
vsproj_cn.otype as JointVentureObjectType,
vsproj_cn.jibcl as JointVentureClass,
vsproj_cn.jibsa as JointVentureSubClass,
@Semantics.calendar.dayOfMonth: true
cast ( vsproj_cn.sprog as pshlp_forecast_start_de ) as ForecastedStartDate,
@Semantics.calendar.dayOfMonth: true
cast ( vsproj_cn.eprog as ps_s4_forecast_finish ) as ForecastedEndDate,
// cnldst_shorttx.shorttext as ProjLangBasedDesc,
cast ( vsproj_cn.vgplf as ps_s4_vgplf ) as PlanningMethForProjBasicDate,
cast ( vsproj_cn.ewplf as ps_s4_ewplf ) as PlanningMethForProjFcstdDate,
cast ( vsproj_cn.zteht as cgpl_duration_unit ) as SchedulingDurationUnit,
cast ( vsproj_cn.scprf as ps_s4_schdprf ) as WBSSchedulingProfile,
vsproj_cn.slwid as FreeDefinedTableFieldSemantic,
cast ( vsproj_cn.usr00 as usr00proj preserving type ) as FreeDefinedAttribute01,
cast ( vsproj_cn.usr01 as usr01proj preserving type ) as FreeDefinedAttribute02,
cast ( vsproj_cn.usr02 as usr02proj preserving type ) as FreeDefinedAttribute03,
cast ( vsproj_cn.usr03 as usr03proj preserving type ) as FreeDefinedAttribute04,
@Semantics.quantity.unitOfMeasure:'FreeDefinedQuantity1Unit'
cast ( vsproj_cn.usr04 as usr04proj preserving type ) as FreeDefinedQuantity1,
cast ( vsproj_cn.use04 as use04proj preserving type ) as FreeDefinedQuantity1Unit,
@Semantics.quantity.unitOfMeasure:'FreeDefinedQuantity2Unit'
cast ( vsproj_cn.usr05 as usr05proj preserving type ) as FreeDefinedQuantity2,
cast ( vsproj_cn.use05 as use05proj preserving type ) as FreeDefinedQuantity2Unit,
@Semantics.amount.currencyCode: 'FreeDefinedAmount1Currency'
cast ( vsproj_cn.usr06 as usr06proj preserving type ) as FreeDefinedAmount1,
cast ( vsproj_cn.use06 as use06proj preserving type ) as FreeDefinedAmount1Currency,
@Semantics.amount.currencyCode: 'FreeDefinedAmount2Currency'
cast ( vsproj_cn.usr07 as usr07proj preserving type ) as FreeDefinedAmount2,
cast ( vsproj_cn.use07 as use07proj preserving type ) as FreeDefinedAmount2Currency,
cast ( vsproj_cn.usr08 as usr08proj preserving type ) as FreeDefinedDate1,
cast ( vsproj_cn.usr09 as usr09proj preserving type ) as FreeDefinedDate2,
cast ( vsproj_cn.usr10 as usr10proj preserving type ) as FreeDefinedIndicator1,
cast ( vsproj_cn.usr11 as usr11proj preserving type ) as FreeDefinedIndicator2,
//vskopf.vsgruppe as ProjectVersionGroupName,
_ControllingArea,
_CompanyCode,
_BusinessArea,
_CostCenter,
_Plant,
_WBSElement,
_ProjectProfileCode,
_ControllingObjectClass,
//_ProjLangBsdDescription,
_NetworkProfile,
_ProjInterestCalcProfile,
_FunctionalArea,
_TaxJurisdiction,
_Wbsschedulingprofile,
_ProfitCenter,
//_ProjectVersionHeader,
_ProjectByInternalKey,
_ProjBasicDatePlanMethName,
_ProjFcstdDatePlanMethName,
@UI.hidden: true
@Consumption.hidden: true
_ResponsiblePerson,
@UI.hidden: true
@Consumption.hidden: true
_ProjectApplicant,
//_ProjectVersionGroupAndText
_ProjectShortText
//Multi Language Short text
}
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