P_BillingElement

DDL: P_BILLINGELEMENT Type: view_entity COMPOSITE Package: FINS_COPA_REPORTING

Billing Element

P_BillingElement is a Composite CDS View that provides data about "Billing Element" in SAP S/4HANA. It reads from 2 data sources (I_ProjectBasicData, I_WBSElementBasicData) and exposes 5 fields with key fields ProjectInternalID, WBSElementInternalID, CompanyCode. It has 3 associations to related views. Part of development package FINS_COPA_REPORTING.

Data Sources (2)

SourceAliasJoin Type
I_ProjectBasicData Proj from
I_WBSElementBasicData WBS inner

Associations (3)

CardinalityTargetAliasCondition
[1..1] P_WBSHierarchyWithoutRootNode _Hier WBS.WBSElementInternalID = _Hier.WBSElementInternalID and WBS.ProjectInternalID = _Hier.ProjectInternalID and WBS.CompanyCode = _Hier.CompanyCode
[1..1] I_WBSElementBasicData _WBSElement $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
[1..1] I_WBSElementBasicData _BillingWBSElement $projection.BillingWBSElementInternalID = _BillingWBSElement.WBSElementInternalID

Annotations (5)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Billing Element view
Metadata.ignorePropagatedAnnotations true view
VDM.private true view
VDM.viewType #COMPOSITE view

Fields (5)

KeyFieldSource TableSource FieldDescription
KEY ProjectInternalID I_WBSElementBasicData ProjectInternalID
KEY WBSElementInternalID I_WBSElementBasicData WBSElementInternalID
KEY CompanyCode
_WBSElement _WBSElement
_BillingWBSElement _BillingWBSElement
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Billing Element'
@Metadata.ignorePropagatedAnnotations: true
@VDM.private:true
@VDM.viewType: #COMPOSITE
define view entity P_BillingElement
  as select from I_ProjectBasicData as Proj
    inner join I_WBSElementBasicData as WBS
      on WBS.ProjectInternalID = Proj.ProjectInternalID
      and Proj.ProjectProfileCode = 'YP05'
//         and WBS.CompanyCode = Proj.CompanyCode

  association [1..1] to P_WBSHierarchyWithoutRootNode as _Hier              on WBS.WBSElementInternalID = _Hier.WBSElementInternalID
                                                                            and WBS.ProjectInternalID = _Hier.ProjectInternalID
                                                                            and WBS.CompanyCode = _Hier.CompanyCode
  association [1..1] to I_WBSElementBasicData         as _WBSElement        on $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
  association [1..1] to I_WBSElementBasicData         as _BillingWBSElement on $projection.BillingWBSElementInternalID = _BillingWBSElement.WBSElementInternalID
{
  key WBS.ProjectInternalID,
  key WBS.WBSElementInternalID,
  key cast ( WBS.CompanyCode as ps_vbukr preserving type )              as CompanyCode,
 // key Proj.CompanyCode,

      case
        when WBS.WBSElementIsBillingElement = 'X'
        then WBS.WBSElementInternalID

        when _Hier.WBSElementIsBillingElement = 'X'
        then _Hier.WBSElementParentInternalID

        when _Hier._Parent.WBSElementIsBillingElement = 'X'
        then _Hier._Parent.WBSElementParentInternalID

        when _Hier._Parent._Parent.WBSElementIsBillingElement = 'X'
        then _Hier._Parent._Parent.WBSElementParentInternalID

        when _Hier._Parent._Parent._Parent.WBSElementIsBillingElement = 'X'
        then _Hier._Parent._Parent._Parent.WBSElementParentInternalID

        when _Hier._Parent._Parent._Parent._Parent.WBSElementIsBillingElement = 'X'
        then _Hier._Parent._Parent._Parent._Parent.WBSElementParentInternalID

        when _Hier._Parent._Parent._Parent._Parent._Parent.WBSElementIsBillingElement = 'X'
        then _Hier._Parent._Parent._Parent._Parent._Parent.WBSElementParentInternalID

        when _Hier._Parent._Parent._Parent._Parent._Parent._Parent.WBSElementIsBillingElement = 'X'
        then _Hier._Parent._Parent._Parent._Parent._Parent._Parent.WBSElementParentInternalID

        when _Hier._Parent._Parent._Parent._Parent._Parent._Parent._Parent.WBSElementIsBillingElement = 'X'
        then _Hier._Parent._Parent._Parent._Parent._Parent._Parent._Parent.WBSElementParentInternalID

        when _Hier._Parent._Parent._Parent._Parent._Parent._Parent._Parent._Parent.WBSElementIsBillingElement = 'X'
        then _Hier._Parent._Parent._Parent._Parent._Parent._Parent._Parent._Parent.WBSElementParentInternalID

        when _Hier._Parent._Parent._Parent._Parent._Parent._Parent._Parent._Parent._Parent.WBSElementIsBillingElement = 'X'
        then _Hier._Parent._Parent._Parent._Parent._Parent._Parent._Parent._Parent._Parent.WBSElementParentInternalID

        else null
      end as BillingWBSElementInternalID,

      _WBSElement,
      _BillingWBSElement
}
where Proj.ProjectProfileCode = 'YP05'