I_WBSElementData_2
Appl interface for WBS Element Details
I_WBSElementData_2 is a Basic CDS View (Dimension) that provides data about "Appl interface for WBS Element Details" in SAP S/4HANA. It reads from 1 data source (prps) and exposes 120 fields with key field WBSElementInternalID. It has 14 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| prps | prps | from |
Associations (14)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_ProjectData_2 | _Project | $projection.ProjectInternalID = _Project.ProjectInternalID |
| [0..1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [0..1] | I_ControllingArea | _ControllingArea | $projection.ControllingArea = _ControllingArea.ControllingArea |
| [0..1] | I_FunctionalArea | _FunctionalArea | $projection.FunctionalArea = _FunctionalArea.FunctionalArea |
| [0..*] | I_ProfitCenter | _ProfitCenter | $projection.ControllingArea = _ProfitCenter.ControllingArea and $projection.ProfitCenter = _ProfitCenter.ProfitCenter |
| [0..*] | I_CostCenter | _ResponsibleCostCenter | $projection.ControllingArea = _ResponsibleCostCenter.ControllingArea and $projection.ResponsibleCostCenter = _ResponsibleCostCenter.CostCenter |
| [0..1] | I_Plant | _Plant | $projection.Plant = _Plant.Plant |
| [0..1] | I_FactoryCalendar | _FactoryCalendar | $projection.FactoryCalendar = _FactoryCalendar.FactoryCalendar |
| [0..*] | I_CostCenter | _CostCenter | $projection.ControllingArea = _CostCenter.ControllingArea and $projection.CostCenter = _CostCenter.CostCenter |
| [1..1] | I_StatusObject | _StatusObject | $projection.WBSElementObject = _StatusObject.StatusObject |
| [0..1] | I_ProjectResponsiblePerson | _ResponsiblePerson | $projection.ResponsiblePerson = _ResponsiblePerson.ResponsiblePerson |
| [0..1] | I_ProjectApplicant | _ProjectApplicant | $projection.ApplicantCode = _ProjectApplicant.ApplicantCode ---Extension |
| [1..1] | E_WBSElement_2 | _Extension | $projection.WBSElementInternalID = _Extension.WBSElementInternalID |
| [0..1] | I_ProjectObjectShortText | _WBSElementShortText | _WBSElementShortText.Language = $session.system_language and _WBSElementShortText.ProjectApplicationIdentifier = 'PS' and _WBSElementShortText.ProjectObjectType = 'PR' and $projection.WBSElementObject = _WBSElementShortText.ProjectObjectNode |
Annotations (18)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IWBSELMNTDATA2 | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Analytics.internalName | #LOCAL | view | |
| Analytics.dataExtraction.enabled | true | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Appl interface for WBS Element Details | view | |
| VDM.viewType | #BASIC | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.preserveKey | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| Metadata.allowExtensions | true | view | |
| ObjectModel.representativeKey | WBSElementInternalID | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.sapObjectNodeType.name | WorkBreakdownStructureElement | view |
Fields (120)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | WBSElementInternalID | |||
| WBSElementExternalID | prps | posid_edit | ||
| WBSElement | ||||
| WBSElementShortID | prps | poski | ||
| WBSDescription | ||||
| ResponsiblePerson | ||||
| ResponsiblePersonName | ||||
| ApplicantCode | ||||
| ApplicantName | prps | astna | ||
| CompanyCode | ||||
| BusinessArea | ||||
| ControllingArea | ||||
| FunctionalArea | ||||
| ProfitCenter | prps | prctr | ||
| ResponsibleCostCenter | ||||
| Plant | prps | werks | ||
| FreeDefinedTableFieldSemantic | prps | slwid | ||
| FactoryCalendar | ||||
| PriorityCode | ||||
| Currency | ||||
| CostingSheet | prps | kalsm | ||
| CostCenter | ||||
| RequestingCostCenter | ||||
| ProjectInternalID | ||||
| WBSElementIsBillingElement | ||||
| WBSElementObject | prps | objnr | ||
| InvestmentProfile | prps | imprf | ||
| WBSIsStatisticalWBSElement | prps | xstat | ||
| WBSIsAccountAssignmentElement | ||||
| ProjectType | prps | prart | ||
| WBSElementIsPlanningElement | ||||
| WorkCenterLocation | prps | stort | ||
| ResultAnalysisInternalID | prps | abgsl | ||
| TaxJurisdiction | prps | txjcd | ||
| FunctionalLocation | ||||
| CreatedByUser | prps | ernam | ||
| CreationDate | prps | erdat | ||
| LastChangedByUser | prps | aenam | ||
| LastChangeDate | prps | aedat | ||
| RespCostCenterControllingArea | prps | fkokr | ||
| WBSIsMarkedForIntegratedPlng | ||||
| Equipment | prps | equnr | ||
| ProjectObjectChangeNumber | prps | aennr | ||
| WBSElementHierarchyLevel | prps | stufe | ||
| OverheadCode | ||||
| ReferenceElement | ||||
| ProjInterestCalcProfile | prps | zschm | ||
| ProgressAnlysAggregationWeight | ||||
| ReqgCostCenterControllingArea | prps | akokr | ||
| Language | prps | txtsp | ||
| IsMarkedForDeletion | ||||
| WBSElementIsGroupingWBSElement | prps | grpkz | ||
| WBSElementIsUsedInProjSmmry | prps | clasf | ||
| CostingVariant | prps | klvar | ||
| BasicStartDate | ||||
| ActualStartDate | ||||
| BasicEndDate | ||||
| ActualEndDate | ||||
| TechnicalCompletionDate | prps | tadat | ||
| BasicDuration | ||||
| BasicDurationUnit | ||||
| ActualDuration | ||||
| ActualDurationUnit | ||||
| SchedldBasicEarliestStartDate | ||||
| ScheduledBasicLatestEndDate | ||||
| SchedldFcstdEarliestStartDate | ||||
| LatestSchedldFcstdEndDate | ||||
| TentativeActualStartDate | ||||
| TentativeActualEndDate | ||||
| JointVenture | prps | vname | ||
| JointVentureCostRecoveryCode | prps | recid | ||
| JointVentureEquityType | prps | etype | ||
| JntVntrProjectType | prps | otype | ||
| JntIntrstBillgClass | prps | jibcl | ||
| JntIntrstBillgSubClass | prps | jibsa | ||
| SubProject | prps | subpr | ||
| InvestmentReason | prps | izwek | ||
| InvestmentScale | prps | isize | ||
| EnvironmentalInvestmentReason | prps | iumkz | ||
| RequestingCompanyCode | prps | abukr | ||
| NetworkAssignmentType | prps | zuord | ||
| CostObject | prps | ktrg | ||
| BillingPlan | prps | fplnr | ||
| ControllingObjectClass | ||||
| FreeDefinedAttribute01 | ||||
| FreeDefinedAttribute02 | ||||
| FreeDefinedAttribute03 | ||||
| FreeDefinedAttribute04 | ||||
| FreeDefinedQuantity1 | ||||
| FreeDefinedQuantity1Unit | ||||
| FreeDefinedQuantity2 | ||||
| FreeDefinedQuantity2Unit | ||||
| FreeDefinedAmount1 | ||||
| FreeDefinedAmount1Currency | ||||
| FreeDefinedAmount2 | ||||
| FreeDefinedAmount2Currency | ||||
| FreeDefinedDate1 | ||||
| FreeDefinedDate2 | ||||
| FreeDefinedIndicator1 | ||||
| FreeDefinedIndicator2 | ||||
| StatusProfile | _StatusObject | StatusProfile | ||
| DistributionProfile | prps | pgprf | ||
| SchedldBasicEarliestEndDate | ||||
| SchedldBasicLatestStartDate | ||||
| SchedldFcstdEarliestEndDate | ||||
| LatestSchedldFcstdStartDate | ||||
| StatusCombinationCode | prps | prps_status | ||
| _Project | _Project | |||
| _CompanyCode | _CompanyCode | |||
| _ControllingArea | _ControllingArea | |||
| _FunctionalArea | _FunctionalArea | |||
| _ProfitCenter | _ProfitCenter | |||
| _ResponsibleCostCenter | _ResponsibleCostCenter | |||
| _Plant | _Plant | |||
| _FactoryCalendar | _FactoryCalendar | |||
| _CostCenter | _CostCenter | |||
| _StatusObject | _StatusObject | |||
| _ResponsiblePerson | _ResponsiblePerson | |||
| _ProjectApplicant | _ProjectApplicant | |||
| _WBSElementShortText | _WBSElementShortText |
@AbapCatalog: {
sqlViewName: 'IWBSELMNTDATA2',
compiler.compareFilter: true
}
@Analytics: {
dataCategory: #DIMENSION,
internalName: #LOCAL,
dataExtraction : {
enabled: true,
delta:{
changeDataCapture: {
mapping: [
{ table: 'PRPS',
role: #MAIN,
viewElement: 'WBSElementInternalID',
tableElement: 'PSPNR'
},
{
table: 'PRTE',
role: #LEFT_OUTER_TO_ONE_JOIN,
viewElement: 'WBSElementInternalID',
tableElement: 'POSNR'
}
]
}
}
}
}
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Appl interface for WBS Element Details'
@VDM.viewType: #BASIC
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.preserveKey:true
@Metadata.ignorePropagatedAnnotations:true
// @AccessControl.personalData.blocking: #REQUIRED
@Metadata.allowExtensions: true
@ObjectModel: {
//Keys
semanticKey: [ 'WBSElement' ],
representativeKey: 'WBSElementInternalID',
usageType: {
serviceQuality: #B,
sizeCategory : #XL,
dataClass: #MASTER
},
sapObjectNodeType.name: 'WorkBreakdownStructureElement',
supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_DIMENSION, #EXTRACTION_DATA_SOURCE ]
}
define view I_WBSElementData_2
as select from prps
left outer to one join prte on prps.pspnr = prte.posnr
and prps.psphi = prte.psphi
association [1..1] to I_ProjectData_2 as _Project on $projection.ProjectInternalID = _Project.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..1] to I_FunctionalArea as _FunctionalArea on $projection.FunctionalArea = _FunctionalArea.FunctionalArea
association [0..*] to I_ProfitCenter as _ProfitCenter on $projection.ControllingArea = _ProfitCenter.ControllingArea
and $projection.ProfitCenter = _ProfitCenter.ProfitCenter
association [0..*] to I_CostCenter as _ResponsibleCostCenter on $projection.ControllingArea = _ResponsibleCostCenter.ControllingArea
and $projection.ResponsibleCostCenter = _ResponsibleCostCenter.CostCenter
association [0..1] to I_Plant as _Plant on $projection.Plant = _Plant.Plant
association [0..1] to I_FactoryCalendar as _FactoryCalendar on $projection.FactoryCalendar = _FactoryCalendar.FactoryCalendar
association [0..*] to I_CostCenter as _CostCenter on $projection.ControllingArea = _CostCenter.ControllingArea
and $projection.CostCenter = _CostCenter.CostCenter
association [1..1] to I_StatusObject as _StatusObject on $projection.WBSElementObject = _StatusObject.StatusObject
// 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
---Extension Association
association [1..1] to E_WBSElement_2 as _Extension on $projection.WBSElementInternalID = _Extension.WBSElementInternalID
// Multilanguage Short text
association [0..1] to I_ProjectObjectShortText as _WBSElementShortText on _WBSElementShortText.Language = $session.system_language
and _WBSElementShortText.ProjectApplicationIdentifier = 'PS'
and _WBSElementShortText.ProjectObjectType = 'PR'
and $projection.WBSElementObject = _WBSElementShortText.ProjectObjectNode
{
key cast ( prps.pspnr as ps_s4_pspnr preserving type ) as WBSElementInternalID,
@ObjectModel.text.element: 'WBSDescription'
prps.posid_edit as WBSElementExternalID,
@ObjectModel.text.element: 'WBSDescription'
cast ( prps.posid as ps_posid_edit preserving type ) as WBSElement,
prps.poski as WBSElementShortID,
@Semantics.text: true
cast ( prps.post1 as ps_s4_post1 preserving type ) as WBSDescription,
cast ( prps.vernr as ps_s4_vernr preserving type ) as ResponsiblePerson,
cast ( prps.verna as ps_s4_verna preserving type ) as ResponsiblePersonName,
cast ( prps.astnr as ps_s4_astnr preserving type ) as ApplicantCode,
prps.astna as ApplicantName,
@ObjectModel.foreignKey.association: '_CompanyCode'
cast ( prps.pbukr as bukrs preserving type ) as CompanyCode,
cast ( prps.pgsbr as gsber preserving type ) as BusinessArea,
@ObjectModel.foreignKey.association: '_ControllingArea'
cast ( prps.pkokr as ps_s4_kokrs preserving type ) as ControllingArea,
@ObjectModel.foreignKey.association: '_FunctionalArea'
cast ( prps.func_area as fkber preserving type ) as FunctionalArea,
@ObjectModel.foreignKey.association: '_ProfitCenter'
prps.prctr as ProfitCenter,
@ObjectModel.foreignKey.association: '_ResponsibleCostCenter'
cast ( prps.fkstl as ps_s4_fkstl preserving type ) as ResponsibleCostCenter,
@ObjectModel.foreignKey.association: '_Plant'
prps.werks as Plant,
prps.slwid as FreeDefinedTableFieldSemantic,
@ObjectModel.foreignKey.association: '_FactoryCalendar'
cast ( prps.fabkl as stkal preserving type ) as FactoryCalendar,
cast ( prps.pspri as nw_prio preserving type ) as PriorityCode,
cast ( prps.pwpos as ps_pwpos preserving type ) as Currency,
prps.kalsm as CostingSheet,
@ObjectModel.foreignKey.association: '_CostCenter'
cast ( prps.kostl as ps_kostl preserving type ) as CostCenter,
cast ( prps.akstl as ps_s4_akstl preserving type ) as RequestingCostCenter,
@ObjectModel.foreignKey.association: '_Project'
cast ( prps.psphi as ps_s4_proj_pspnr preserving type ) as ProjectInternalID,
cast ( prps.fakkz as ps_fakkz preserving type ) as WBSElementIsBillingElement,
prps.objnr as WBSElementObject,
prps.imprf as InvestmentProfile,
prps.xstat as WBSIsStatisticalWBSElement,
cast ( prps.belkz as ps_s4_belkz preserving type ) as WBSIsAccountAssignmentElement,
prps.prart as ProjectType,
cast ( prps.plakz as ps_plakz preserving type ) as WBSElementIsPlanningElement,
prps.stort as WorkCenterLocation,
prps.abgsl as ResultAnalysisInternalID,
//Tax Jurisdiction, Functional Location fields
prps.txjcd as TaxJurisdiction,
cast ( prps.tplnr as tplnr_unconverted preserving type ) as FunctionalLocation,
@Semantics.user.createdBy: true
prps.ernam as CreatedByUser,
@Semantics.systemDate.createdAt: true
prps.erdat as CreationDate,
@Semantics.user.lastChangedBy: true
prps.aenam as LastChangedByUser,
@Semantics.systemDate.lastChangedAt: true
prps.aedat as LastChangeDate,
prps.fkokr as RespCostCenterControllingArea,
cast ( prps.plint as plint_t preserving type ) as WBSIsMarkedForIntegratedPlng,
prps.equnr as Equipment,
prps.aennr as ProjectObjectChangeNumber,
prps.stufe as WBSElementHierarchyLevel,
cast ( prps.zschl as fin_ovhkey preserving type ) as OverheadCode,
cast ( prps.adpsp as ps_s4_addcompare_core preserving type ) as ReferenceElement,
prps.zschm as ProjInterestCalcProfile,
cast ( prps.evgew as ev_weightd preserving type ) as ProgressAnlysAggregationWeight,
prps.akokr as ReqgCostCenterControllingArea,
prps.txtsp as Language,
cast( prps.loevm as ps_s4_loevm ) as IsMarkedForDeletion,
@Semantics.booleanIndicator: true
prps.grpkz as WBSElementIsGroupingWBSElement,
prps.clasf as WBSElementIsUsedInProjSmmry,
prps.klvar as CostingVariant,
cast ( prte.pstrt as ps_s4_pstrt preserving type ) as BasicStartDate,
cast ( prte.estrt as ps_s4_estrt preserving type ) as ForecastedStartDate,
cast ( prte.istrt as ps_s4_istrt preserving type ) as ActualStartDate,
cast ( prte.pende as ps_s4_pende preserving type ) as BasicEndDate,
cast ( prte.eende as ps_s4_eende preserving type ) as ForecastedEndDate,
cast ( prte.iende as ps_s4_iende preserving type ) as ActualEndDate,
prps.tadat as TechnicalCompletionDate,
@Semantics.quantity.unitOfMeasure: 'BasicDurationUnit'
cast ( prte.pdaur as ps_s4_pdaur preserving type ) as BasicDuration,
@Semantics.unitOfMeasure: true
cast ( prte.peinh as ps_s4_peinh preserving type ) as BasicDurationUnit,
@Semantics.quantity.unitOfMeasure: 'ForecastedDurationUnit'
cast( prte.edaur as ps_s4_edaur preserving type ) as ForecastedDuration,
@Semantics.unitOfMeasure: true
cast ( prte.eeinh as ps_s4_eeinh preserving type ) as ForecastedDurationUnit,
@Semantics.quantity.unitOfMeasure: 'ActualDurationUnit'
cast ( prte.idaur as ps_s4_idaur preserving type ) as ActualDuration,
@Semantics.unitOfMeasure: true
cast ( prte.ieinh as ps_ieinh preserving type ) as ActualDurationUnit,
cast ( prte.pstrm as ps_gstrs preserving type ) as SchedldBasicEarliestStartDate,
cast ( prte.petrm as ps_s4_gltrs preserving type ) as ScheduledBasicLatestEndDate,
cast ( prte.estrm as ps_s4_gstpp preserving type ) as SchedldFcstdEarliestStartDate,
cast ( prte.eetrm as ps_s4_gltpp preserving type ) as LatestSchedldFcstdEndDate,
cast ( prte.vistr as ps_s4_istvorl preserving type ) as TentativeActualStartDate,
cast ( prte.viend as ps_s4_ienvorl preserving type ) as TentativeActualEndDate,
//Joint venture fields
prps.vname as JointVenture,
prps.recid as JointVentureCostRecoveryCode,
prps.etype as JointVentureEquityType,
prps.otype as JntVntrProjectType,
prps.jibcl as JntIntrstBillgClass,
prps.jibsa as JntIntrstBillgSubClass,
prps.subpr as SubProject,
prps.izwek as InvestmentReason,
prps.isize as InvestmentScale,
prps.iumkz as EnvironmentalInvestmentReason,
prps.abukr as RequestingCompanyCode,
prps.zuord as NetworkAssignmentType,
prps.ktrg as CostObject,
prps.fplnr as BillingPlan,
cast ( prps.scope as ps_s4_scope_cv ) as ControllingObjectClass,
cast ( prps.usr00 as usr00prps preserving type ) as FreeDefinedAttribute01,
cast ( prps.usr01 as usr01prps preserving type ) as FreeDefinedAttribute02,
cast ( prps.usr02 as usr02prps preserving type ) as FreeDefinedAttribute03,
cast ( prps.usr03 as usr03prps preserving type ) as FreeDefinedAttribute04,
@Semantics.quantity.unitOfMeasure:'FreeDefinedQuantity1Unit'
cast ( prps.usr04 as usr04prps preserving type ) as FreeDefinedQuantity1,
cast ( prps.use04 as use04prps preserving type ) as FreeDefinedQuantity1Unit,
@Semantics.quantity.unitOfMeasure:'FreeDefinedQuantity2Unit'
cast ( prps.usr05 as usr05prps preserving type ) as FreeDefinedQuantity2,
cast ( prps.use05 as use05prps preserving type ) as FreeDefinedQuantity2Unit,
@Semantics.amount.currencyCode: 'FreeDefinedAmount1Currency'
cast( cast ( prps.usr06 * 10 as abap.curr(14,2) ) as abap.curr(13,2) ) as FreeDefinedAmount1,
cast ( prps.use06 as use06prps preserving type ) as FreeDefinedAmount1Currency,
@Semantics.amount.currencyCode: 'FreeDefinedAmount2Currency'
cast( cast ( prps.usr07 * 10 as abap.curr(14,2) ) as abap.curr(13,2) ) as FreeDefinedAmount2,
cast ( prps.use07 as use07prps preserving type ) as FreeDefinedAmount2Currency,
cast ( prps.usr08 as usr08prps preserving type ) as FreeDefinedDate1,
cast ( prps.usr09 as usr09prps preserving type ) as FreeDefinedDate2,
cast ( prps.usr10 as usr10prps preserving type ) as FreeDefinedIndicator1,
cast ( prps.usr11 as usr11prps preserving type ) as FreeDefinedIndicator2,
_StatusObject.StatusProfile as StatusProfile,
prps.pgprf as DistributionProfile,
cast( prte.petrf as ps_getre preserving type ) as SchedldBasicEarliestEndDate,
cast( prte.pstrs as ps_gstre preserving type ) as SchedldBasicLatestStartDate,
cast( prte.eetrf as ps_gltrp preserving type ) as SchedldFcstdEarliestEndDate,
cast( prte.estrs as ps_gstrp preserving type ) as LatestSchedldFcstdStartDate,
prps.prps_status as StatusCombinationCode,
//Associations
_Project,
_CompanyCode,
_ControllingArea,
_FunctionalArea,
_ProfitCenter,
_ResponsibleCostCenter,
_Plant,
_FactoryCalendar,
_CostCenter,
_StatusObject,
@Consumption.hidden: true
_ResponsiblePerson,
@Consumption.hidden: true
_ProjectApplicant,
// Multilanguage Short text
_WBSElementShortText
}
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