I_WBSElementByExternalID

DDL: I_WBSELEMENTBYEXTERNALID SQL: IWBSELEBYEXTKEY Type: view BASIC

WBSElement By ExternalID

I_WBSElementByExternalID is a Basic CDS View (Dimension) that provides data about "WBSElement By ExternalID" in SAP S/4HANA. It reads from 2 data sources (prps, prte) and exposes 32 fields with key field WBSElementExternalID. It has 12 associations to related views.

Data Sources (2)

SourceAliasJoin Type
prps prps from
prte prte left_outer

Associations (12)

CardinalityTargetAliasCondition
[1..1] I_ProjectBasicData _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_Projecttype _ProjectType $projection.ProjectType = _ProjectType.ProjectType
[0..*] I_Projecttypetext _ProjectTypeText $projection.ProjectType = _ProjectTypeText.ProjectType
[0..*] I_FinWBSElementHierarchyNode _FinWBSElementHierarchyNode $projection.WBSElementExternalID = _FinWBSElementHierarchyNode.WBSElementExternalID

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName IWBSELEBYEXTKEY view
AbapCatalog.compiler.compareFilter true view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view
AccessControl.authorizationCheck #CHECK view
Analytics.dataCategory #DIMENSION view
EndUserText.label WBSElement By ExternalID view
VDM.viewType #BASIC view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.representativeKey WBSElementExternalID view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view

Fields (32)

KeyFieldSource TableSource FieldDescription
KEY WBSElementExternalID prps posid_edit
WBSElementInternalID
WBSDescription
CompanyCode
ControllingArea
FunctionalArea
ProfitCenter prps prctr
ResponsibleCostCenter
Plant prps werks
FactoryCalendar
CostingSheet prps kalsm
CostCenter
ProjectInternalID
WBSElementIsBillingElement
WBSElementObject prps objnr
InvestmentProfile prps imprf
WBSIsStatisticalWBSElement prps xstat
ProjectType prps prart
JntIntrstBillgClass prps jibcl
JntIntrstBillgSubClass prps jibsa
_Project _Project
_CompanyCode _CompanyCode
_ControllingArea _ControllingArea
_FunctionalArea _FunctionalArea
_ProfitCenter _ProfitCenter
_ResponsibleCostCenter _ResponsibleCostCenter
_Plant _Plant
_FactoryCalendar _FactoryCalendar
_CostCenter _CostCenter
_ProjectType _ProjectType
_ProjectTypeText _ProjectTypeText
_FinWBSElementHierarchyNode _FinWBSElementHierarchyNode
@AbapCatalog.sqlViewName: 'IWBSELEBYEXTKEY'
@AbapCatalog.compiler.compareFilter: true
@Metadata.allowExtensions:true
@Metadata.ignorePropagatedAnnotations:true
@AccessControl.authorizationCheck: #CHECK
@Analytics: { dataCategory: #DIMENSION }

@EndUserText.label: 'WBSElement By ExternalID'

@VDM.viewType: #BASIC
@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
    //Keys

   // semanticKey: [ 'WBSElement' ],

    representativeKey: 'WBSElementExternalID',

    usageType: {
        serviceQuality: #B,
        sizeCategory : #XL,
        dataClass: #TRANSACTIONAL
    },

    supportedCapabilities: [ #ANALYTICAL_DIMENSION ]
}


//Note :  To be used only in Analytical views(cube or consumption views), where Foreign-Key associations

// are needed on WBSElementExternalID. For all other cases and associations, use I_WBSElementBasicData.




define view I_WBSElementByExternalID
  as select from    prps
    left outer join prte on  prps.pspnr = prte.posnr
                         and prps.psphi = prte.psphi

  association [1..1] to I_ProjectBasicData          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_CostingSheetProcedure as _CostingSheetProcedure on $projection.CostingSheet = _CostingSheetProcedure.CostingSheetProcedure

  association [0..*] to I_CostCenter                as _CostCenter              on  $projection.ControllingArea = _CostCenter.ControllingArea
                                                                                and $projection.CostCenter      = _CostCenter.CostCenter
  association [0..1] to I_Projecttype               as _ProjectType             on  $projection.ProjectType = _ProjectType.ProjectType
  association [0..*] to I_Projecttypetext           as _ProjectTypeText         on  $projection.ProjectType = _ProjectTypeText.ProjectType
  association [0..*] to I_FinWBSElementHierarchyNode    as _FinWBSElementHierarchyNode    on  $projection.WBSElementExternalID = _FinWBSElementHierarchyNode.WBSElementExternalID  
{
      @ObjectModel.text.element: 'WBSDescription'
      @ObjectModel.hierarchy.association: '_FinWBSElementHierarchyNode'
  key prps.posid_edit                                    as WBSElementExternalID,

      cast ( prps.pspnr as ps_s4_pspnr preserving type ) as WBSElementInternalID,

      @Semantics.text: true
      cast ( prps.post1 as ps_s4_post1 preserving type ) as WBSDescription,

      //Organizational fields

      //--[ GENERATED:012:GFBfhyK17jY4hilWz{vTHm

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_CompanyCodeStdVH',
                     element: 'CompanyCode' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_CompanyCode'
      cast ( prps.pbukr as bukrs preserving type )       as CompanyCode,

      //--[ GENERATED:012:GFBfhyK17jY4hilWz{vTHm

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_ControllingArea',
                     element: 'ControllingArea' }
        }]
      // ]--GENERATED

      @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,

      //--[ GENERATED:012:GFBfhyK17jY4hilWz{vTHm

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_ProfitCenterStdVH',
                     element: 'ProfitCenter' },
          additionalBinding: [{ localElement: 'ControllingArea',
                                element: 'ControllingArea' }]
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_ProfitCenter'
      prps.prctr                                         as ProfitCenter,

      //--[ GENERATED:012:GFBfhyK17jY4hilWz{vTHm

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_CostCenterStdVH',
                     element: 'CostCenter' },
          additionalBinding: [{ localElement: 'ControllingArea',
                                element: 'ControllingArea' }]
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_ResponsibleCostCenter'
      cast ( prps.fkstl as ps_s4_fkstl preserving type ) as ResponsibleCostCenter,

      @ObjectModel.foreignKey.association: '_Plant'
      prps.werks                                         as Plant,

      @ObjectModel.foreignKey.association: '_FactoryCalendar'
      cast ( prps.fabkl as stkal preserving type )       as FactoryCalendar,

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

      prps.kalsm                                         as CostingSheet,

      //--[ GENERATED:012:GFBfhyK17jY4hilWz{vTHm

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_CostCenterStdVH',
                     element: 'CostCenter' },
          additionalBinding: [{ localElement: 'ControllingArea',
                                element: 'ControllingArea' }]
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_CostCenter'
      cast ( prps.kostl as ps_kostl preserving type )    as CostCenter,


      //Dimensions

      @ObjectModel.foreignKey.association: '_Project'
      //cast ( prps.psphi as ps_psphi preserving type )    as ProjectInternalID,

      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,
      @ObjectModel.foreignKey.association: '_ProjectType'
      @ObjectModel.text.association: '_ProjectTypeText'
      prps.prart                                         as ProjectType,
      prps.jibcl                                         as JntIntrstBillgClass,
      prps.jibsa                                         as JntIntrstBillgSubClass,

      //Associations

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

      _CostCenter,
      _ProjectType,
      _ProjectTypeText,
      _FinWBSElementHierarchyNode
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"PRPS",
"PRTE"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_FACTORYCALENDAR",
"I_FINWBSELEMENTHIERARCHYNODE",
"I_FUNCTIONALAREA",
"I_PLANT",
"I_PROFITCENTER",
"I_PROJECTBASICDATA",
"I_PROJECTTYPE",
"I_PROJECTTYPETEXT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/