P_PROJECTFINBUDGETSMMRY

DDL: P_PROJECTFINBUDGETSMMRY SQL: PPROJFBUDGETSMRY Type: view COMPOSITE

P_PROJECTFINBUDGETSMMRY is a Composite CDS View in SAP S/4HANA. It reads from 3 data sources (I_EnterpriseProject, I_ProjectBasicData, P_EnterpriseProjectCosts) and exposes 95 fields with key fields ProjectUUID, ProjectInternalID, SourceLedger, Ledger, CompanyCode. It has 3 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_EnterpriseProject _proj union_all
I_ProjectBasicData _projBasic inner
P_EnterpriseProjectCosts _ProjectCostLineItems from

Associations (3)

CardinalityTargetAliasCondition
[0..1] P_ProjectLastPredictedOn _ProjPredict $projection.ProjectInternalID = _ProjPredict.ProjectInternalID
[0..1] I_PPM_ProjectSummaryTask _ProjectSummary _ProjectSummary.ProjectInternalID = $projection.ProjectInternalID
[0..1] I_ControllingArea _ControllingArea _proj.ControllingArea = _ControllingArea.ControllingArea

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName PPROJFBUDGETSMRY view
VDM.viewType #COMPOSITE view
AccessControl.authorizationCheck #CHECK view
VDM.private true view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.buffering.status #NOT_ALLOWED view
Metadata.ignorePropagatedAnnotations true view
AbapCatalog.preserveKey true view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
AbapCatalog.compiler.compareFilter true view

Fields (95)

KeyFieldSource TableSource FieldDescription
KEY ProjectUUID P_EnterpriseProjectCosts ProjectUUID
KEY ProjectInternalID P_EnterpriseProjectCosts ProjectInternalID
KEY SourceLedger P_EnterpriseProjectCosts SourceLedger
KEY Ledger P_EnterpriseProjectCosts Ledger
KEY CompanyCode P_EnterpriseProjectCosts CompanyCode
KEY FiscalYear P_EnterpriseProjectCosts FiscalYear
KEY AccountingDocument P_EnterpriseProjectCosts AccountingDocument
KEY FinancialPlanningReqTransSqnc P_EnterpriseProjectCosts FinancialPlanningReqTransSqnc
KEY FinancialPlanningDataPacket P_EnterpriseProjectCosts FinancialPlanningDataPacket
KEY ActualPlanJournalEntryItem P_EnterpriseProjectCosts ActualPlanJournalEntryItem
Project P_EnterpriseProjectCosts Project
ProjectDescription P_EnterpriseProjectCosts ProjectDescription
ProcessingStatus P_EnterpriseProjectCosts ProcessingStatus
ProjectProfileCode P_EnterpriseProjectCosts ProjectProfileCode
PlannedStartDate P_EnterpriseProjectCosts PlannedStartDate
PlannedEndDate P_EnterpriseProjectCosts PlannedEndDate
ProjectSummaryTaskUUID P_EnterpriseProjectCosts ProjectSummaryTaskUUID
ProjectCategory P_EnterpriseProjectCosts ProjectCategory
ProfitCenter P_EnterpriseProjectCosts ProfitCenter
ProjectType P_EnterpriseProjectCosts ProjectType
ProjectObject P_EnterpriseProjectCosts ProjectObject
AvailabilityControlIsActive P_EnterpriseProjectCosts AvailabilityControlIsActive
AvailabilityControlProfile P_EnterpriseProjectCosts AvailabilityControlProfile
AvailyCtrlTimeRangeType P_EnterpriseProjectCosts AvailyCtrlTimeRangeType
BudgetCurrencyRole P_EnterpriseProjectCosts BudgetCurrencyRole
CurrentDate
ControllingArea P_EnterpriseProjectCosts ControllingArea
FunctionalArea P_EnterpriseProjectCosts FunctionalArea
ResponsibleCostCenter P_EnterpriseProjectCosts ResponsibleCostCenter
PlanningCategory P_EnterpriseProjectCosts PlanningCategory
SemanticTag P_EnterpriseProjectCosts SemanticTag
PostingDate P_EnterpriseProjectCosts PostingDate
CreationDate P_EnterpriseProjectCosts CreationDate
PredictedCostCreationDate _ProjPredict CreationDate
PredictedCostPostingDate
ProjectProcessingStatus _ProjectSummary ProjectProcessingStatus
IsSettled P_EnterpriseProjectCosts IsSettled
GlobalCurrency P_EnterpriseProjectCosts GlobalCurrency
AmountInGlobalCurrency P_EnterpriseProjectCosts AmountInGlobalCurrency
ActualAmountInGlobalCurrency ActualAmountInGlobalCurrency
CmtmtCostInGlobalCurrency CmtmtCostInGlobalCurrency
ControllingObjectCurrency ControllingObjectCurrency
AmountInObjectCurrency AmountInObjectCurrency
ActlCostInProjCrcy P_EnterpriseProjectCosts ActlCostInProjCrcy
CmtmtCostInProjCrcy CmtmtCostInProjCrcy
ProjectUUID
KEY ProjectInternalID I_EnterpriseProject ProjectInternalID
KEY SourceLedger
KEY Ledger
KEY CompanyCode I_EnterpriseProject CompanyCode
KEY FiscalYear
KEY AccountingDocument
KEY FinancialPlanningReqTransSqnc
KEY FinancialPlanningDataPacket
KEY ActualPlanJournalEntryItem
Project I_ProjectBasicData ProjectExternalID
ProjectDescription I_ProjectBasicData ProjectDescription
ProcessingStatus I_EnterpriseProject ProcessingStatus
ProjectProfileCode I_ProjectBasicData ProjectProfileCode
PlannedStartDate I_ProjectBasicData PlannedStartDate
PlannedEndDate I_ProjectBasicData PlannedEndDate
ProjectSummaryTaskUUID I_EnterpriseProject ProjectSummaryTaskUUID
ProjectCategory _ProjectSummary ProjectCategory
ProfitCenter I_ProjectBasicData ProfitCenter
ProjectType I_EnterpriseProject EnterpriseProjectType
ProjectObject I_ProjectBasicData ProjectObject
AvailabilityControlIsActive I_ProjectBasicData AvailabilityControlIsActive
AvailabilityControlProfile I_ProjectBasicData AvailabilityControlProfile
AvailyCtrlTimeRangeType
BudgetCurrencyRole
CurrentDate
ControllingArea I_EnterpriseProject ControllingArea
FunctionalArea I_EnterpriseProject FunctionalArea
ResponsibleCostCenter I_EnterpriseProject ResponsibleCostCenter
PlanningCategory
SemanticTag
PostingDate
CreationDate
PredictedCostCreationDate _ProjPredict CreationDate
PredictedCostPostingDate
ProjectProcessingStatus _ProjectSummary ProjectProcessingStatus
IsSettled
GlobalCurrency _ControllingArea ControllingAreaCurrency
AmountInGlobalCurrency 0
ActualAmountInGlobalCurrency 0
CmtmtCostInGlobalCurrency 0
ActlCmtmtCumltvAmtInGlobCrcy 0
PredictedAmtInGlobalCurrency 0
LowerPredictionAmtInGlobCrcy 0
UpperPredictionAmtInGlobCrcy 0
ControllingObjectCurrency I_ProjectBasicData ProjectCurrency
AmountInObjectCurrency 0
ActlCostInProjCrcy 0
CmtmtCostInProjCrcy 0
AssgdValForBudgetInProjCrcy 0
@AbapCatalog.sqlViewName: 'PPROJFBUDGETSMRY'
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #CHECK
@VDM.private:true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.buffering.status: #NOT_ALLOWED
@Metadata.ignorePropagatedAnnotations: true
@AbapCatalog.preserveKey:true
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass:  #MIXED
@ObjectModel.usageType.serviceQuality: #D
@AbapCatalog.compiler.compareFilter: true
@Consumption.dbHints: ['NO_JOIN_SIMPLIFICATION'] 

define view P_PROJECTFINBUDGETSMMRY
  as select from P_EnterpriseProjectCosts  as _ProjectCostLineItems  //I_EnterpriseProject               as _proj 

 //  inner join  P_EnterpriseProjectCosts  as _ProjectCostLineItems on _ProjectCostLineItems.ProjectInternalID = _proj.ProjectInternalID

  //I_EnterpriseProject               as _proj 

  //  inner join   I_ProjectBasicData                as _projBasic            on _projBasic.ProjectInternalID = _proj.ProjectInternalID

   // inner join   P_ProjectCostLineItems            as _ProjectCostLineItems on _ProjectCostLineItems.ProjectInternalID = _projBasic.ProjectInternalID

    association [0..1] to P_ProjectLastPredictedOn as _ProjPredict          on $projection.ProjectInternalID = _ProjPredict.ProjectInternalID
    association [0..1] to I_PPM_ProjectSummaryTask as _ProjectSummary       on _ProjectSummary.ProjectInternalID = $projection.ProjectInternalID

{
  key _ProjectCostLineItems.ProjectUUID,
  key _ProjectCostLineItems.ProjectInternalID          as ProjectInternalID,
  key _ProjectCostLineItems.SourceLedger,                  //key

  key _ProjectCostLineItems.Ledger,                        //key

  key _ProjectCostLineItems.CompanyCode,                   //key

  key _ProjectCostLineItems.FiscalYear,                    //key

  key _ProjectCostLineItems.AccountingDocument,            //key

  key _ProjectCostLineItems.FinancialPlanningReqTransSqnc, //key

  key _ProjectCostLineItems.FinancialPlanningDataPacket,   //key

  key _ProjectCostLineItems.ActualPlanJournalEntryItem,

 
      _ProjectCostLineItems.Project,
      @Semantics.text: true
      _ProjectCostLineItems.ProjectDescription,
      _ProjectCostLineItems.ProcessingStatus,
      _ProjectCostLineItems.ProjectProfileCode,
      _ProjectCostLineItems.PlannedStartDate,
      _ProjectCostLineItems.PlannedEndDate,
      _ProjectCostLineItems.ProjectSummaryTaskUUID,
      _ProjectCostLineItems.ProjectCategory,
      _ProjectCostLineItems.ProfitCenter,

      _ProjectCostLineItems.ProjectType,
      //Availability Control Profile related fields

      _ProjectCostLineItems.ProjectObject,
      _ProjectCostLineItems.AvailabilityControlIsActive,
      _ProjectCostLineItems.AvailabilityControlProfile,
      _ProjectCostLineItems.AvailyCtrlTimeRangeType,
      _ProjectCostLineItems.BudgetCurrencyRole,


      $session.system_date                  as CurrentDate,
      _ProjectCostLineItems.ControllingArea                 as ControllingArea,
      _ProjectCostLineItems.FunctionalArea                  as FunctionalArea,
      _ProjectCostLineItems.ResponsibleCostCenter           as ResponsibleCostCenter,

      //Project Cost Fields

      _ProjectCostLineItems.PlanningCategory,
      _ProjectCostLineItems.SemanticTag,
      _ProjectCostLineItems.PostingDate,
      _ProjectCostLineItems.CreationDate,
 //     _ProjectCostLineItems.GLAccountHierarchy,


     _ProjPredict.CreationDate             as PredictedCostCreationDate, //Available since CE1908

      '00000000'                            as PredictedCostPostingDate, // Added as Metadata extension true annotation doesnt allow removal of fields

      _ProjectSummary.ProjectProcessingStatus,
      _ProjectCostLineItems.IsSettled                                    as IsSettled,

      //Global Currency Related fields

      @Semantics.currencyCode:true
      _ProjectCostLineItems.GlobalCurrency,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      _ProjectCostLineItems.AmountInGlobalCurrency,

      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      @DefaultAggregation: #SUM
      ActualAmountInGlobalCurrency,

      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      @DefaultAggregation: #SUM
      CmtmtCostInGlobalCurrency,

      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      @DefaultAggregation: #SUM
      case
          when  (_ProjectCostLineItems.PlanningCategory = 'CMTMT' or _ProjectCostLineItems.PlanningCategory = 'ACT01')
              then _ProjectCostLineItems.AmountInGlobalCurrency
          else 0
      end                                   as ActlCmtmtCumltvAmtInGlobCrcy,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      case
      when  _ProjectCostLineItems.PlanningCategory = 'PREDICT01'
      then _ProjectCostLineItems.AmountInGlobalCurrency
       else 0
      end                                   as PredictedAmtInGlobalCurrency,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      case
      when  _ProjectCostLineItems.PlanningCategory = 'PREDICT02'
      then _ProjectCostLineItems.AmountInGlobalCurrency
       else 0
      end                                   as LowerPredictionAmtInGlobCrcy,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      case
      when  _ProjectCostLineItems.PlanningCategory = 'PREDICT03'
      then _ProjectCostLineItems.AmountInGlobalCurrency
       else 0
      end                                   as UpperPredictionAmtInGlobCrcy,

      @Semantics.currencyCode: true
      ControllingObjectCurrency,

      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
      AmountInObjectCurrency,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
      _ProjectCostLineItems.ActlCostInProjCrcy,

      @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
      @DefaultAggregation: #SUM
      CmtmtCostInProjCrcy,

      @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
      @DefaultAggregation: #SUM
      case
      when ( (_ProjectCostLineItems.PlanningCategory = 'CMTMT' or _ProjectCostLineItems.PlanningCategory = 'ACT01') )
        then _ProjectCostLineItems.AmountInObjectCurrency
      else 0
      end                                   as AssgdValForBudgetInProjCrcy



}
where 
//IsSettled = 'X'  and  ProjectCategory = '6'

 Project != ''
and ProjectInternalID != '00000000'


union all select from   //P_ProjectsWithProjCat6 as _proj

  I_EnterpriseProject          as _proj
  inner join         I_ProjectBasicData             as _projBasic      on _projBasic.ProjectInternalID  = _proj.ProjectInternalID
  association [0..1] to         I_PPM_ProjectSummaryTask as _ProjectSummary     on _ProjectSummary.ProjectInternalID = _proj.ProjectInternalID
  association [0..1] to         I_ControllingArea         as _ControllingArea   on  _proj.ControllingArea  = _ControllingArea.ControllingArea
  
  association [0..1] to P_ProjectLastPredictedOn as _ProjPredict        on $projection.ProjectInternalID = _ProjPredict.ProjectInternalID
  
{
  key  _proj.ProjectUUID,
  key  _proj.ProjectInternalID,
  key  ''                                                             as  SourceLedger, //key

  key  ''                                                             as  Ledger,       //key

  key  _proj.CompanyCode,                                                               //key

  key  cast('' as fis_gjahr )                                         as  FiscalYear,
  key  ''                                                             as  AccountingDocument,
  key  cast('' as fis_fp_request_tsn)                                 as  FinancialPlanningReqTransSqnc,
  key  cast('' as fis_fp_data_packet)                                 as  FinancialPlanningDataPacket,
  key  ''                                                             as  ActualPlanJournalEntryItem,


       _projBasic.ProjectExternalID as Project ,  //To fix Masked project issues _proj.Project,

       @Semantics.text: true
       _projBasic.ProjectDescription, //_proj.ProjectDescription,

       _proj.ProcessingStatus,
       _projBasic.ProjectProfileCode, //_proj.ProjectProfileCode,

       _projBasic.PlannedStartDate, //_proj.PlannedStartDate,  Message fix: 2080309974

       _projBasic.PlannedEndDate, //_proj.PlannedEndDate,

       _proj.ProjectSummaryTaskUUID,
       _ProjectSummary.ProjectCategory                                as  ProjectCategory,
       _projBasic.ProfitCenter, //_proj.ProfitCenter,

       _proj.EnterpriseProjectType                                     as       ProjectType,

       //Availability Control Profile related fields

       _projBasic.ProjectObject,
       _projBasic.AvailabilityControlIsActive, //_proj.AvailabilityControlIsActive,

       _projBasic.AvailabilityControlProfile, //_proj.AvailabilityControlProfile,

       _projBasic._AvailabilityCtrlProfile.AvailyCtrlTimeRangeType,
       _projBasic._AvailabilityCtrlProfile.BudgetCurrencyRole,


       $session.system_date                                           as  CurrentDate,


       _proj.ControllingArea                                          as  ControllingArea,
       _proj.FunctionalArea                                           as  FunctionalArea,
       _proj.ResponsibleCostCenter                                    as  ResponsibleCostCenter,

       //             Project Cost Fields

       ''                                                             as  PlanningCategory,
       ''                                                             as  SemanticTag, //       _SemTagGL.SemanticTag,

       ''                                                             as  PostingDate,
       ''                                                             as  CreationDate,
//       ''                                                             as  GLAccountHierarchy, //  _SemTagGL.GLAccountHierarchy,


       _ProjPredict.CreationDate                                      as  PredictedCostCreationDate, //Available since CE1908

       '00000000'                                                     as  PredictedCostPostingDate, // Added as Metadata extension true annotation doesnt allow removal of fields

       _ProjectSummary.ProjectProcessingStatus                        as  ProjectProcessingStatus,
       
       'X'                                                             as  IsSettled,
       //Global Currency Related fields

       @Semantics.currencyCode:true
       _ControllingArea.ControllingAreaCurrency                       as  GlobalCurrency,  //_proj.Currency 




       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       0                                                              as  AmountInGlobalCurrency,


       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       @DefaultAggregation: #SUM
       0                                                              as  ActualAmountInGlobalCurrency,

       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       @DefaultAggregation: #SUM
       0                                                              as  CmtmtCostInGlobalCurrency,

       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       @DefaultAggregation: #SUM
       0                                                              as  ActlCmtmtCumltvAmtInGlobCrcy,

       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       0                                                              as  PredictedAmtInGlobalCurrency,

       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       0                                                              as  LowerPredictionAmtInGlobCrcy,

       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       0                                                              as  UpperPredictionAmtInGlobCrcy,

       @Semantics.currencyCode: true
        _projBasic.ProjectCurrency                                    as  ControllingObjectCurrency,  //cast('' as fis_curr2)


       @DefaultAggregation: #SUM
       @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
       0                                                              as  AmountInObjectCurrency,

       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
       0                                                              as  ActlCostInProjCrcy,

       @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
       @DefaultAggregation: #SUM
       0                                                              as  CmtmtCostInProjCrcy,

       @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
       @DefaultAggregation: #SUM
       0                                                              as  AssgdValForBudgetInProjCrcy


}
where _ProjectSummary.ProjectCategory = '6' and   _proj.Project != ''
and _proj.ProjectInternalID != '00000000'