I_WBSELEMENTDATA_2
Appl interface for WBS Element Details
I_WBSELEMENTDATA_2 is a CDS View in S/4HANA. Appl interface for WBS Element Details. It contains 21 fields. 11 CDS views read from this table.
CDS Views using this table (11)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| A_WBSElementStatus | view_entity | inner | COMPOSITE | WBS Element status |
| C_WBSElementDataStdByExtIDVH | view | from | CONSUMPTION | WBSElement By ExternalID |
| C_WBSElementForGraph | view | from | CONSUMPTION | WBS Element For Graph |
| I_EntAssetMgmtWBSElementVH | view_entity | from | COMPOSITE | Work Breakdown Structure Element |
| I_WBSElementChangeDocuments | view | from | BASIC | Change document for WBS Element data |
| I_WBSElementDataStdVH | view | from | COMPOSITE | WBSElement Data |
| I_WBSElementWithCodingMask | view | from | COMPOSITE | WBS Element Data |
| P_IncgOutgInvoiceWBSElementVH | view | from | BASIC | Value Help for WBS Element |
| P_ProjectActualCostLineItem | view | inner | COMPOSITE | Project Cost Line Items with Actual Costs |
| R_WBSElementTP | view | from | TRANSACTIONAL | TP view for WBSElement for Project API |
| R_WBSElementTP_2 | view_entity | from | TRANSACTIONAL | TP view for I WBSElementData 2 |
Fields (21)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | WBSElementInternalID | WBSElementInternalID | 2 |
| _ControllingArea | _ControllingArea | 1 | |
| _ProfitCenter | _ProfitCenter | 1 | |
| _ResponsibleCostCenter | _ResponsibleCostCenter | 1 | |
| ApplicantCode | ApplicantCode | 1 | |
| ControllingArea | ControllingArea | 1 | |
| FreeDefinedAttribute01 | FreeDefinedAttribute01 | 1 | |
| FreeDefinedAttribute02 | FreeDefinedAttribute02 | 1 | |
| FreeDefinedAttribute03 | FreeDefinedAttribute03 | 1 | |
| FreeDefinedAttribute04 | FreeDefinedAttribute04 | 1 | |
| FreeDefinedIndicator1 | FreeDefinedIndicator1 | 1 | |
| FreeDefinedIndicator2 | FreeDefinedIndicator2 | 1 | |
| ProfitCenter | ProfitCenter,ProjectObjectProfitCenter | 2 | |
| ProjectInternalID | ProjectInternalID | 2 | |
| ProjectType | ProjectType | 2 | |
| RespCostCenterControllingArea | RespCostCenterControllingArea | 1 | |
| ResponsibleCostCenter | ResponsibleCostCenter | 2 | |
| ResponsiblePerson | ResponsiblePerson | 1 | |
| WBSDescription | ProjectObjectDescription,WBSDescription | 2 | |
| WBSElementExternalID | ProjectObjectExternalID,WBSElementExternalID | 2 | |
| WBSElementObject | ProjectObjectNode | 1 |
@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
},
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
}