P_ProjSettlmtRuleProjBasicData

DDL: P_PROJSETTLMTRULEPROJBASICDATA Type: view_entity COMPOSITE Package: RAP_FIN_CO_PROJSETTLMTRULE

Settlement Rule for Project

P_ProjSettlmtRuleProjBasicData is a Composite CDS View that provides data about "Settlement Rule for Project" in SAP S/4HANA. It reads from 3 data sources (I_ProjectBasicData, I_WBSElementBasicData, I_WBSElementBasicData) and exposes 61 fields with key field ControllingObject. It has 2 associations to related views. Part of development package RAP_FIN_CO_PROJSETTLMTRULE.

Data Sources (3)

SourceAliasJoin Type
I_ProjectBasicData I_ProjectBasicData inner
I_WBSElementBasicData I_WBSElementBasicData from
I_WBSElementBasicData I_WBSElementBasicData union

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_WBSElementData_2 _WBSElementData _WBSElementData.WBSElementInternalID = $projection.WBSElementInternalID
[1] I_ProjectData_2 _ProjectData _ProjectData.ProjectInternalID = $projection.ProjectInternalID

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Settlement Rule for Project view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (61)

KeyFieldSource TableSource FieldDescription
KEY ControllingObject I_WBSElementBasicData WBSElementObject
ControllingObjectType
ControllingObjectExternalID
ControllingObjectDescription I_WBSElementBasicData WBSDescription
ProjectProfileCode
CompanyCode I_WBSElementBasicData CompanyCode
ControllingArea I_WBSElementBasicData ControllingArea
ProfitCenter I_WBSElementBasicData ProfitCenter
WBSElementIsBillingElement I_WBSElementBasicData WBSElementIsBillingElement
WBSIsAccountAssignmentElement I_WBSElementBasicData WBSIsAccountAssignmentElement
WBSElementIsPlanningElement _WBSElementData WBSElementIsPlanningElement
WBSIsStatisticalWBSElement _WBSElementData WBSIsStatisticalWBSElement
ActualPostedCostCenter I_WBSElementBasicData CostCenter
ResponsibleCostCenter I_WBSElementBasicData ResponsibleCostCenter
Plant I_WBSElementBasicData Plant
ProjectType I_WBSElementBasicData ProjectType
SenderCreatedByUser I_WBSElementBasicData CreatedByUser
SenderCreationDate I_WBSElementBasicData CreationDate
SenderLastChangedByUser I_WBSElementBasicData LastChangedByUser
SenderLastChangedDate I_WBSElementBasicData LastChangeDate
EntProjIsSettlmtRuleInherited I_WBSElementBasicData EntProjIsSettlmtRuleInherited
WBSElementInternalID I_WBSElementBasicData WBSElementInternalID
ProjectInternalID I_ProjectBasicData ProjectInternalID
FunctionalArea I_ProjectBasicData FunctionalArea
ProjectCurrency I_ProjectBasicData ProjectCurrency
PlannedStartDate I_ProjectBasicData PlannedStartDate
PlannedEndDate I_ProjectBasicData PlannedEndDate
WBSDescription I_WBSElementBasicData WBSDescription
WBSElementExternalID I_WBSElementBasicData WBSElementExternalID
ProjectDescription
WBSElementObjectasControllingObject
ControllingObjectType
ControllingObjectExternalID
ControllingObjectDescription I_ProjectBasicData ProjectDescription
ProjectProfileCode I_ProjectBasicData ProjectProfileCode
CompanyCode I_ProjectBasicData CompanyCode
ControllingArea I_ProjectBasicData ControllingArea
ProfitCenter I_ProjectBasicData ProfitCenter
WBSElementIsBillingElement I_WBSElementBasicData WBSElementIsBillingElement
WBSIsAccountAssignmentElement I_WBSElementBasicData WBSIsAccountAssignmentElement
WBSElementIsPlanningElement _WBSElementData WBSElementIsPlanningElement
WBSIsStatisticalWBSElement _WBSElementData WBSIsStatisticalWBSElement
ActualPostedCostCenter I_WBSElementBasicData CostCenter
ResponsibleCostCenter I_WBSElementBasicData ResponsibleCostCenter
Plant I_ProjectBasicData Plant
ProjectType I_WBSElementBasicData ProjectType
SenderCreatedByUser _ProjectData CreatedByUser
SenderCreationDate _ProjectData CreationDate
SenderLastChangedByUser _ProjectData LastChangedByUser
SenderLastChangedDate _ProjectData LastChangeDate
EntProjIsSettlmtRuleInherited I_WBSElementBasicData EntProjIsSettlmtRuleInherited
WBSElementInternalID I_WBSElementBasicData WBSElementInternalID
ProjectInternalID I_ProjectBasicData ProjectInternalID
FunctionalArea I_ProjectBasicData FunctionalArea
ProjectCurrency I_ProjectBasicData ProjectCurrency
PlannedStartDate I_ProjectBasicData PlannedStartDate
PlannedEndDate I_ProjectBasicData PlannedEndDate
WBSDescription
WBSElementExternalID
ProjectDescription
ProjectExternalID I_ProjectBasicData ProjectExternalID
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED 
@EndUserText.label: 'Settlement Rule for Project'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #X,
  sizeCategory: #S,
  dataClass: #MIXED
}

@VDM: {
  viewType: #COMPOSITE,
  private: true
}

define view entity P_ProjSettlmtRuleProjBasicData as
select from I_WBSElementBasicData
  left outer to one join I_ProjectBasicData on  I_ProjectBasicData.Project = I_WBSElementBasicData.WBSElement
                                            and I_ProjectBasicData.ProjectExternalID = I_WBSElementBasicData.WBSElementExternalID

  association [0..1] to I_WBSElementData_2 as _WBSElementData on _WBSElementData.WBSElementInternalID = $projection.WBSElementInternalID

// WBS Element 

{
  key I_WBSElementBasicData.WBSElementObject as ControllingObject,
   'PR' as ControllingObjectType,
    cast(I_WBSElementBasicData.WBSElementExternalID as fco_psr_object_name) as ControllingObjectExternalID,  
    I_WBSElementBasicData.WBSDescription as ControllingObjectDescription,
    I_WBSElementBasicData._Project.ProjectProfileCode,
    I_WBSElementBasicData.CompanyCode,
    I_WBSElementBasicData.ControllingArea,
    I_WBSElementBasicData.ProfitCenter,
    I_WBSElementBasicData.WBSElementIsBillingElement,
    I_WBSElementBasicData.WBSIsAccountAssignmentElement,
    _WBSElementData.WBSElementIsPlanningElement,
    _WBSElementData.WBSIsStatisticalWBSElement,
    I_WBSElementBasicData.CostCenter as ActualPostedCostCenter,
    I_WBSElementBasicData.ResponsibleCostCenter,
    I_WBSElementBasicData.Plant,
    I_WBSElementBasicData.ProjectType,
    I_WBSElementBasicData.CreatedByUser as SenderCreatedByUser,   
    I_WBSElementBasicData.CreationDate as SenderCreationDate,
    I_WBSElementBasicData.LastChangedByUser as SenderLastChangedByUser,
    I_WBSElementBasicData.LastChangeDate as SenderLastChangedDate,
    I_WBSElementBasicData.EntProjIsSettlmtRuleInherited,
    I_WBSElementBasicData.WBSElementInternalID,
    I_ProjectBasicData.ProjectInternalID,
    I_ProjectBasicData.FunctionalArea,
    I_ProjectBasicData.ProjectCurrency,
    I_ProjectBasicData.PlannedStartDate,
    I_ProjectBasicData.PlannedEndDate,
    I_WBSElementBasicData.WBSDescription,
    I_WBSElementBasicData.WBSElementExternalID,
    _WBSElementData._Project.ProjectDescription,
    _WBSElementData._Project.ProjectExternalID
} where I_ProjectBasicData.ProjectInternalID is null
    and (
      I_WBSElementBasicData._Project.ProjectProfileCode = 'YP02'
      or I_WBSElementBasicData._Project.ProjectProfileCode = 'YP03'
      or I_WBSElementBasicData._Project.ProjectProfileCode = 'YP05'
    )

union

select from I_WBSElementBasicData
  inner join I_ProjectBasicData on I_ProjectBasicData.Project = I_WBSElementBasicData.WBSElement
                                and I_ProjectBasicData.ProjectExternalID = I_WBSElementBasicData.WBSElementExternalID

  association [0..1] to I_WBSElementData_2 as _WBSElementData on _WBSElementData.WBSElementInternalID = $projection.WBSElementInternalID
  association [1] to I_ProjectData_2 as _ProjectData on _ProjectData.ProjectInternalID = $projection.ProjectInternalID
                                  
// PROJECT                                      

{
  key I_WBSElementBasicData.WBSElementObject as ControllingObject,
   'PD' as ControllingObjectType,
    cast(I_WBSElementBasicData.WBSElementExternalID as fco_psr_object_name) as ControllingObjectExternalID,
    I_ProjectBasicData.ProjectDescription as ControllingObjectDescription,
    I_ProjectBasicData.ProjectProfileCode,
    I_ProjectBasicData.CompanyCode,       
    I_ProjectBasicData.ControllingArea,
    I_ProjectBasicData.ProfitCenter,
    I_WBSElementBasicData.WBSElementIsBillingElement,
    I_WBSElementBasicData.WBSIsAccountAssignmentElement,
    _WBSElementData.WBSElementIsPlanningElement,
    _WBSElementData.WBSIsStatisticalWBSElement,
    I_WBSElementBasicData.CostCenter as ActualPostedCostCenter,
    I_WBSElementBasicData.ResponsibleCostCenter,
    I_ProjectBasicData.Plant,
    I_WBSElementBasicData.ProjectType,
    _ProjectData.CreatedByUser as SenderCreatedByUser,   
    _ProjectData.CreationDate as SenderCreationDate,
    _ProjectData.LastChangedByUser as SenderLastChangedByUser,
    _ProjectData.LastChangeDate as SenderLastChangedDate,
    I_WBSElementBasicData.EntProjIsSettlmtRuleInherited,
    I_WBSElementBasicData.WBSElementInternalID,
    I_ProjectBasicData.ProjectInternalID,
    I_ProjectBasicData.FunctionalArea,
    I_ProjectBasicData.ProjectCurrency,
    I_ProjectBasicData.PlannedStartDate,
    I_ProjectBasicData.PlannedEndDate,
    cast('' as ps_s4_post1) as WBSDescription,
    cast('' as ps_posid_edit) as WBSElementExternalID,
    _WBSElementData._Project.ProjectDescription,
    I_ProjectBasicData.ProjectExternalID
} where
  I_WBSElementBasicData.WBSIsStatisticalWBSElement <> 'X' 
    and (
        I_ProjectBasicData.ProjectProfileCode = 'YP02'
        or I_ProjectBasicData.ProjectProfileCode = 'YP03'
        or I_ProjectBasicData.ProjectProfileCode = 'YP05'
      )