I_WBSElementByExternalID

DDL: I_WBSELEMENTBYEXTERNALID SQL: IWBSELEBYEXTKEY Type: view BASIC

WBSElement By ExternalID

I_WBSElementByExternalID (Basic)

Package: Explore, extend and adapt the SAP S/4HANA Cloud Private Edition with built-in and side-by-side extension capabilities.

R&D Engineering

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.

SAP Help Documentation

CategoryProject
Data CategoryDimension
StatusReleased
Purpose
This CDS view provides the prerequisites for answering the following business questions: For Professional Services or Financial related needs, what are the organizational details associated with a WBS element? Note This view is specifically used in cubes and analytical queries to link Project dimension using the WBSElementExternalID field. It is enabled for use in SAP S/4HANA cloud.

Structure
Measures and attributes Some important measures and attributes are: The WBSElementID and WBSElementExternalID , including other organizational data such as controlling area, company code, profit center and so on.

Constraints
The recommendation is to use this CDS view only in analytical views such as cube or consumption views, where foreign-key associations are required on the WBSElementExternalID field.

Related Information
For more information, refer to 2730120

View on SAP Help Portal →

SAP API Hub

StateC1
Line of BusinessR&D Engineering
Application ComponentPS-ST
CapabilitiesAnalytical Dimension
PackageR&D Engineering for SAP S/4HANA Cloud Private Edition

Documentation

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 Work Breakdown Structure Element (WBS Element) Edited
WBSElementInternalID WBS Element
WBSDescription Work Breakdown Structure Element Name
CompanyCode Company Code
ControllingArea Controlling Area
FunctionalArea Functional Area
ProfitCenter prps prctr Profit Centers
ResponsibleCostCenter Responsible Cost Center
Plant prps werks Receiving Plant
FactoryCalendar Calendar
CostingSheet prps kalsm Search Proced.
CostCenter Cost center to which costs are actually posted
ProjectInternalID Project (internal)
WBSElementIsBillingElement Indicator: Billing element
WBSElementObject prps objnr Val. Obj. No.
InvestmentProfile prps imprf Investment Measure Profile
WBSIsStatisticalWBSElement prps xstat Statistical WBS element
ProjectType prps prart Project Type
JntIntrstBillgClass prps jibcl JIB/JIBE Class
JntIntrstBillgSubClass prps jibsa JIB/JIBE Subclass A
_Project _Project
_CompanyCode _CompanyCode
_ControllingArea _ControllingArea
_FunctionalArea _FunctionalArea
_ProfitCenter _ProfitCenter
_ResponsibleCostCenter _ResponsibleCostCenter
_Plant _Plant
_FactoryCalendar _FactoryCalendar
_CostCenter _CostCenter
_ProjectType _ProjectType
_ProjectTypeText _ProjectTypeText
_FinWBSElementHierarchyNode _FinWBSElementHierarchyNode

Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.

-- Derived SQL interpretation of CDS view I_WBSElementByExternalID.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: IWBSELEBYEXTKEY

CREATE VIEW I_WBSElementByExternalID AS
SELECT
  prps.posid_edit AS WBSElementExternalID,
  cast ( prps.pspnr as ps_s4_pspnr preserving type ) AS WBSElementInternalID,
  cast ( prps.post1 as ps_s4_post1 preserving type ) AS WBSDescription,
  cast ( prps.pbukr as bukrs preserving type ) AS CompanyCode,
  cast ( prps.pkokr as ps_s4_kokrs preserving type ) AS ControllingArea,
  cast ( prps.func_area as fkber preserving type ) AS FunctionalArea,
  prps.prctr AS ProfitCenter,
  cast ( prps.fkstl as ps_s4_fkstl preserving type ) AS ResponsibleCostCenter,
  prps.werks AS Plant,
  cast ( prps.fabkl as stkal preserving type ) AS FactoryCalendar,
  prps.kalsm AS CostingSheet,
  cast ( prps.kostl as ps_kostl preserving type ) AS CostCenter,
  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,
  prps.prart AS ProjectType,
  prps.jibcl AS JntIntrstBillgClass,
  prps.jibsa AS JntIntrstBillgSubClass
FROM prps
LEFT OUTER JOIN prte ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_ProjectBasicData AS _Project ON ProjectInternalID = _Project.ProjectInternalID  -- association [1..1]
LEFT OUTER JOIN I_CompanyCode AS _CompanyCode ON CompanyCode = _CompanyCode.CompanyCode  -- association [0..1]
LEFT OUTER JOIN I_ControllingArea AS _ControllingArea ON ControllingArea = _ControllingArea.ControllingArea  -- association [0..1]
LEFT OUTER JOIN I_FunctionalArea AS _FunctionalArea ON FunctionalArea = _FunctionalArea.FunctionalArea  -- association [0..1]
LEFT OUTER JOIN I_ProfitCenter AS _ProfitCenter ON ControllingArea = _ProfitCenter.ControllingArea AND ProfitCenter = _ProfitCenter.ProfitCenter  -- association [0..*]
LEFT OUTER JOIN I_CostCenter AS _ResponsibleCostCenter ON ControllingArea = _ResponsibleCostCenter.ControllingArea AND ResponsibleCostCenter = _ResponsibleCostCenter.CostCenter  -- association [0..*]
LEFT OUTER JOIN I_Plant AS _Plant ON Plant = _Plant.Plant  -- association [0..1]
LEFT OUTER JOIN I_FactoryCalendar AS _FactoryCalendar ON FactoryCalendar = _FactoryCalendar.FactoryCalendar  -- association [0..1]
LEFT OUTER JOIN I_CostCenter AS _CostCenter ON ControllingArea = _CostCenter.ControllingArea AND CostCenter = _CostCenter.CostCenter  -- association [0..*]
LEFT OUTER JOIN I_Projecttype AS _ProjectType ON ProjectType = _ProjectType.ProjectType  -- association [0..1]
LEFT OUTER JOIN I_Projecttypetext AS _ProjectTypeText ON ProjectType = _ProjectTypeText.ProjectType  -- association [0..*]
LEFT OUTER JOIN I_FinWBSElementHierarchyNode AS _FinWBSElementHierarchyNode ON WBSElementExternalID = _FinWBSElementHierarchyNode.WBSElementExternalID  -- association [0..*]
;