P_ProjectFinancialSummary

DDL: P_PROJECTFINANCIALSUMMARY SQL: PPROJFINSUMMRY Type: view COMPOSITE Package: ODATA_PS_COS_PROJSMRY_MNTR

Project Financial Summary

P_ProjectFinancialSummary is a Composite CDS View that provides data about "Project Financial Summary" in SAP S/4HANA. It reads from 3 data sources (I_ActualPlanJournalEntryItem, P_SEMTAGVERMAP, I_SemTagGLAccount) and exposes 28 fields with key fields Ledger, GLAccountHierarchy, project, ProjectInternalID, WBSElementInternalID. Part of development package ODATA_PS_COS_PROJSMRY_MNTR.

Data Sources (3)

SourceAliasJoin Type
I_ActualPlanJournalEntryItem _ActPlnJrlEtry from
P_SEMTAGVERMAP _ChildTag inner
I_SemTagGLAccount _SemTagGL inner

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName PPROJFINSUMMRY 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
AbapCatalog.compiler.compareFilter true view

Fields (28)

KeyFieldSource TableSource FieldDescription
KEY Ledger Ledger
KEY GLAccountHierarchy I_SemTagGLAccount GLAccountHierarchy
KEY project I_ActualPlanJournalEntryItem ProjectExternalID
KEY ProjectInternalID ProjectInternalID
KEY WBSElementInternalID WBSElementInternalID
KEY FiscalYear FiscalYear
KEY SemanticTag I_SemTagGLAccount SemanticTag
KEY CompanyCode CompanyCode
KEY ControllingArea ControllingArea
KEY ProjectObjectNode _WBSElementBasicData WBSElementObject
KEY IsCommitment IsCommitment
KEY FiscalYearPeriod FiscalYearPeriod
KEY FiscalYearVariant FiscalYearVariant
KEY ResponsibleCostCenter _WBSElementBasicData ResponsibleCostCenter
KEY datsasfis_budatendasCreationDate
KEY GlobalCurrency GlobalCurrency
KEY ControllingObjectCurrency ControllingObjectCurrency
AmountInGlobalCurrency AmountInGlobalCurrency
AmountInObjectCurrency AmountInObjectCurrency
ControllingDebitCreditCode I_ActualPlanJournalEntryItem ControllingDebitCreditCode
BusinessTransactionType I_ActualPlanJournalEntryItem BusinessTransactionType
PartnerOrder I_ActualPlanJournalEntryItem PartnerOrder_2
PartnerProject I_ActualPlanJournalEntryItem PartnerProjectExternalID
PartnerSalesDocument PartnerSalesDocument
PartnerProjectNetwork PartnerProjectNetwork
PartnerProjectNetworkActivity PartnerProjectNetworkActivity
PartnerBusinessProcess PartnerBusinessProcess
PartnerCostObject PartnerCostObject
@AbapCatalog.sqlViewName: 'PPROJFINSUMMRY'
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #CHECK
@VDM.private:true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.buffering.status: #NOT_ALLOWED
@Metadata.ignorePropagatedAnnotations: true
@AbapCatalog.preserveKey:true
@AbapCatalog.compiler.compareFilter: true

define view P_ProjectFinancialSummary
  as select from I_ActualPlanJournalEntryItem as _ActPlnJrlEtry

    inner join   I_SemTagGLAccount            as _SemTagGL on  _ActPlnJrlEtry.GLAccount       = _SemTagGL.GLAccount
                                                           and _ActPlnJrlEtry.ChartOfAccounts = _SemTagGL.ChartOfAccounts
    inner join   P_SEMTAGVERMAP               as _ChildTag on _ChildTag.SemanticTag = _SemTagGL.SemanticTag
{

  key  Ledger,
  key  _SemTagGL.GLAccountHierarchy            as GLAccountHierarchy,

       // S/4 Hana CE2302- Field Deprecation - Begin

       //key  Project,

  key  _ActPlnJrlEtry.ProjectExternalID        as project,
       // S/4 Hana CE2302- Field Deprecation - End


  key  ProjectInternalID,
  key  WBSElementInternalID,
  key  FiscalYear,
  key  _SemTagGL.SemanticTag                   as SemanticTag,
  key  CompanyCode,
  key  ControllingArea,
  key  _WBSElementBasicData.WBSElementObject   as ProjectObjectNode,
  key  IsCommitment,
  key  FiscalYearPeriod,
  key  FiscalYearVariant,
  key  _WBSElementBasicData.ResponsibleCostCenter,

       // Posting Date and Creation Date for Plan Costs, Since Plan Costs Will not have a Posting Date

  key  case when (PostingDate = '00000000' or PostingDate is null)
           then _FiscalPeriod.FiscalPeriodStartDate
        else PostingDate
   end                                         as PostingDate,

  key  case when DocumentDate != '00000000'
         then DocumentDate
        else cast(cast(substring(FinancialPlanningReqTransSqnc,1,8)as abap.dats) as fis_budat )
   end                                         as CreationDate,

       // Creating the Planning Category 'CMTMT' for commitments

  key  case
     when IsCommitment = 'X'
      then 'CMTMT'
     else  PlanningCategory
    end                                        as PlanningCategory,

       @Semantics.currencyCode:true
  key  GlobalCurrency,

       @Semantics.currencyCode: true
  key  ControllingObjectCurrency,

       // Global Currency Fields

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

       // Object Currency fields

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

       _ActPlnJrlEtry.ControllingDebitCreditCode,
       _ActPlnJrlEtry.BusinessTransactionType,

       // S/4 Hana CE2302- Field Deprecation - Begin

       //PartnerOrder,

       _ActPlnJrlEtry.PartnerOrder_2           as PartnerOrder,

       //PartnerProject,

       _ActPlnJrlEtry.PartnerProjectExternalID as PartnerProject,
       // S/4 Hana CE2302- Field Deprecation - End


       PartnerSalesDocument,
       PartnerProjectNetwork,
       PartnerProjectNetworkActivity,
       PartnerBusinessProcess,
       PartnerCostObject
}
where
  (
           _Ledger.IsLeadingLedger          = 'X'
    or(
           Ledger                           = '3P'
      and  IsCommitment                     = 'X'
    )
    or(
           Ledger                           = '0E'
      and  IsCommitment                     = 'X'
    )
  )

  and      _ActPlnJrlEtry.Project != ''
  and(
           _SemTagGL.ValidityStartDate      <= $session.system_date
    and    _SemTagGL.ValidityEndDate        >= $session.system_date
  )
  and(
    (
           _WBSElementBasicData.CompanyCode = _ActPlnJrlEtry.CompanyCode
      and(
           PlanningCategory                 = 'ACT01'
        or IsCommitment                     = 'X'
      )
    )
    or(
           PlanningCategory != 'ACT01'
      or   IsCommitment != 'X'
    )
  )