I_WBSElementData

DDL: I_WBSELEMENTDATA Type: view BASIC Package: VDM_PS_ST

WBSElement Data

I_WBSElementData is a Basic CDS View (Dimension) that provides data about "WBSElement Data" in SAP S/4HANA. It reads from 1 data source (prps) and exposes 109 fields with key field WBSElementInternalID. It has 11 associations to related views. Part of development package VDM_PS_ST.

Data Sources (1)

SourceAliasJoin Type
prps prps from

Associations (11)

CardinalityTargetAliasCondition
[1..1] I_ProjectData _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
[0..1] I_ProjectObjectShortText _WBSElementShortText _WBSElementShortText.Language = $session.system_language and _WBSElementShortText.ProjectApplicationIdentifier = 'PS' and _WBSElementShortText .ProjectObjectType = 'PR' and $projection.WBSElementObject = _WBSElementShortText.ProjectObjectNode ---Extension
[1..1] E_WBSElement_2 _Extension $projection.WBSElementInternalID = _Extension.WBSElementInternalID

Annotations (19)

NameValueLevelField
AbapCatalog.sqlViewName IWBSELMNTDATA 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 WBSElement Data view
VDM.viewType #BASIC view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.preserveKey true view
Metadata.ignorePropagatedAnnotations true view
VDM.lifecycle.status #DEPRECATED view
VDM.lifecycle.successor I_WBSElementData_2 view
Metadata.allowExtensions true view
ObjectModel.representativeKey WBSElementInternalID view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MASTER view

Fields (109)

KeyFieldSource TableSource FieldDescription
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
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
_Project _Project
_CompanyCode _CompanyCode
_ControllingArea _ControllingArea
_FunctionalArea _FunctionalArea
_ProfitCenter _ProfitCenter
_ResponsibleCostCenter _ResponsibleCostCenter
_Plant _Plant
_FactoryCalendar _FactoryCalendar
_CostCenter _CostCenter
_WBSElementShortText _WBSElementShortText

@AbapCatalog: {
  sqlViewName: 'IWBSELMNTDATA',
  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: 'WBSElement Data'
@VDM.viewType: #BASIC
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.preserveKey:true
@Metadata.ignorePropagatedAnnotations:true
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'I_WBSElementData_2'

@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
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      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
   // 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
   ---Extension Association
  association [1..1] to E_WBSElement_2 as _Extension on $projection.WBSElementInternalID = _Extension.WBSElementInternalID
{
     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,

      //      @ObjectModel.foreignKey.association: '_CostingSheetProcedure'

      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,

      //  _Project.ProjectObject,

      //Dimensions

      @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 ( pstrt as ps_s4_pstrt preserving type )                            as BasicStartDate,
      cast ( estrt as ps_s4_estrt preserving type )                            as ForecastedStartDate,
      cast ( istrt as ps_s4_istrt preserving type )                            as ActualStartDate,
      cast ( pende as ps_s4_pende preserving type )                            as BasicEndDate,
      cast ( eende as ps_s4_eende preserving type )                            as ForecastedEndDate,
      cast ( iende as ps_s4_iende preserving type )                            as ActualEndDate,

      @Semantics.quantity.unitOfMeasure: 'BasicDurationUnit'
      cast ( pdaur as ps_s4_pdaur preserving type )                            as BasicDuration,
      @Semantics.unitOfMeasure: true
      cast ( peinh as ps_s4_peinh preserving type )                            as BasicDurationUnit,
      @Semantics.quantity.unitOfMeasure: 'ForecastedDurationUnit'
      cast( edaur as ps_s4_edaur preserving type )                             as ForecastedDuration,
      @Semantics.unitOfMeasure: true
      cast ( eeinh as ps_s4_eeinh preserving type )                            as ForecastedDurationUnit,
      @Semantics.quantity.unitOfMeasure: 'ActualDurationUnit'
      cast ( idaur as ps_s4_idaur preserving type )                            as ActualDuration,
      @Semantics.unitOfMeasure: true
      cast ( ieinh as ps_ieinh preserving type )                               as ActualDurationUnit,

      cast ( pstrm as ps_gstrs preserving type )                               as SchedldBasicEarliestStartDate,
      cast ( petrm as ps_s4_gltrs preserving type )                            as ScheduledBasicLatestEndDate,
      cast ( estrm as ps_s4_gstpp preserving type )                            as SchedldFcstdEarliestStartDate,
      cast ( eetrm as ps_s4_gltpp preserving type )                            as LatestSchedldFcstdEndDate,
      cast ( vistr as ps_s4_istvorl preserving type )                          as TentativeActualStartDate,
      cast ( 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 ( prps.usr06 as abap.curr( 13, 2 ) )                                as FreeDefinedAmount1,
      cast ( prps.use06 as use06prps preserving type )                         as FreeDefinedAmount1Currency,
      @Semantics.amount.currencyCode: 'FreeDefinedAmount2Currency'
      cast ( prps.usr07 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,
      //Associations

      @ObjectModel.association.type: [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
      _Project,
      _CompanyCode,
      _ControllingArea,
      _FunctionalArea,
      _ProfitCenter,
      _ResponsibleCostCenter,
      _Plant,
      _FactoryCalendar,
      //      _CostingSheetProcedure,

      _CostCenter,
      // Multilanguage Short text 

      _WBSElementShortText
}