P_Trrmonchart

DDL: P_TRRMONCHART SQL: PTRRMONCHART Type: view COMPOSITE

P_Trrmonchart is a Composite CDS View in SAP S/4HANA. It reads from 6 data sources and exposes 11 fields with key fields ProjectInternalID, WBSElementInternalID, Ledger, CompanyCode, FiscalYear.

Data Sources (6)

SourceAliasJoin Type
I_EvtBsdRevnRecgnEvalScp evalscp inner
I_GLAccountLineItem semtag inner
I_SemTagGLAccount semTagGl inner
tkkaa tkkaa inner
I_WBSElement WBSElement from
P_TRRMONWBSUNION wbsunion inner

Annotations (8)

NameValueLevelField
AbapCatalog.sqlViewName PTRRMONCHART view
VDM.viewType #COMPOSITE view
VDM.private true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.dataClass #MIXED view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY ProjectInternalID I_WBSElement ProjectInternalID
KEY WBSElementInternalID
KEY Ledger I_GLAccountLineItem Ledger
KEY CompanyCode I_GLAccountLineItem CompanyCode
KEY FiscalYear I_GLAccountLineItem FiscalYear
KEY FiscalPeriod I_GLAccountLineItem FiscalPeriod
ProjectExternalID I_WBSElement Project
WBSElementExternalID
ResultAnalysisInternalID
FiscalYearPeriod I_GLAccountLineItem FiscalYearPeriod
CompanyCodeCurrency I_GLAccountLineItem CompanyCodeCurrency
@AbapCatalog.sqlViewName: 'PTRRMONCHART'
@VDM.viewType: #COMPOSITE
@VDM.private:true
@AccessControl.authorizationCheck: #NOT_REQUIRED

@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #M
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE

define view P_Trrmonchart
  as

  select from              I_WBSElement                  as WBSElement
    inner join             P_TRRMONWBSUNION              as wbsunion on wbsunion.WBSElementInternalID = WBSElement.WBSElementInternalID

    inner join             tkkaa                         as tkkaa         on tkkaa.abgsl = WBSElement.ResultAnalysisInternalID

    inner join             I_GLAccountLineItem           as semtag        on  semtag.WBSElementInternalID = wbsunion.WBSElementIntIDUnion
                                                                          and semtag.ProjectInternalID    = WBSElement.ProjectInternalID
                                                                          and semtag.CompanyCode          = WBSElement.CompanyCode

    inner join             I_SemTagGLAccount             as semTagGl      on  semTagGl.GLAccount       = semtag.GLAccount
                                                                          and semTagGl.ChartOfAccounts = semtag.ChartOfAccounts

    inner join             I_EvtBsdRevnRecgnEvalScp      as evalscp       on  evalscp.CompanyCode = semtag.CompanyCode
                                                                          and evalscp.Ledger      = semtag.Ledger

    left outer to one join I_EvtBsdRevnRecgnObjLifeCycle as lifecyc       on  lifecyc.CompanyCode          = WBSElement.CompanyCode
                                                                          and lifecyc.WBSElementInternalID = WBSElement.WBSElementInternalID
                                                                          and lifecyc.Ledger               = semtag.Ledger

{
  key WBSElement.ProjectInternalID                                                              as ProjectInternalID,
  key cast ( WBSElement.WBSElementInternalID as fins_trr_wbselementinternalid preserving type ) as WBSElementInternalID,
  key semtag.Ledger                                                                             as Ledger,
  key semtag.CompanyCode                                                                        as CompanyCode,
  key semtag.FiscalYear                                                                         as FiscalYear,
  key semtag.FiscalPeriod                                                                       as FiscalPeriod,
      WBSElement.Project                                                                        as ProjectExternalID,

      cast ( WBSElement.WBSElement as fins_trr_billelement )                                    as WBSElementExternalID,
      cast ( WBSElement.ResultAnalysisInternalID as fins_trr_recgnkey )                         as ResultAnalysisInternalID,
      semtag.FiscalYearPeriod                                                                   as FiscalYearPeriod,
      semtag.CompanyCodeCurrency                                                                as CompanyCodeCurrency,

      sum(
          case when semtag.BusinessTransactionType <> 'TBRR' and semTagGl.SemanticTag = 'ACT_COST'
               then cast (AmountInCompanyCodeCurrency * (-1) as fins_trr_actcost)
               else cast ( cast ('0' as abap.curr( 23,2))   as fins_trr_actcost) end )          as RecognizableCostAmtInCCCrcy,

      sum(
          case when semtag.BusinessTransactionType <> 'TBRR' and semTagGl.SemanticTag = 'BILL_REV'
               then cast (AmountInCompanyCodeCurrency * (-1) as fins_trr_actrevn)
               else cast ( cast ('0' as abap.curr( 23,2))   as fins_trr_actrevn) end )          as RecognizableRevenueAmtInCCCrcy,

      sum(
      case when semtag.BusinessTransactionType = 'TBRR' and semTagGl.SemanticTag = 'ADJ_REV'
         then cast (AmountInCompanyCodeCurrency * (-1) as fins_trr_revnadjust )
         else cast ( cast ('0' as abap.curr( 23,2))   as fins_trr_revnadjust ) end )            as RevenueAdjustmentAmtInCCCrcy,

      sum(
      case when semtag.BusinessTransactionType = 'TBRR' and semTagGl.SemanticTag = 'ADJ_COS'
         then cast (AmountInCompanyCodeCurrency * (-1) as   fins_trr_cogsadj  )
         else cast ( cast ('0' as abap.curr( 23,2))   as   fins_trr_cogsadj  ) end )            as COGSAdjustmentAmtInCCCrcy,

      sum(
      case when semtag.BusinessTransactionType = 'TBRR' and semTagGl.SemanticTag = 'DEF_COST'
         then cast (AmountInCompanyCodeCurrency as fins_trr_defcogs)
         else cast ( cast ('0' as abap.curr( 23,2))   as fins_trr_defcogs) end )                as DeferredCOGSAmtInCCCrcy,

      sum(
      case when semtag.BusinessTransactionType = 'TBRR' and semTagGl.SemanticTag = 'DEF_REV'
         then cast (AmountInCompanyCodeCurrency as fins_trr_defrevn )
         else cast ( cast ('0' as abap.curr( 23,2))   as fins_trr_defrevn ) end )               as DeferredRevenueAmtInCCCrcy,

      sum(
      case when semtag.BusinessTransactionType = 'TBRR' and semTagGl.SemanticTag = 'ACR_REV'
         then cast (AmountInCompanyCodeCurrency as fins_trr_accrevn )
         else cast ( cast ('0' as abap.curr( 23,2))   as fins_trr_accrevn ) end )               as AccruedRevenueAmtInCCCrcy,

      sum(
      case when semtag.BusinessTransactionType = 'TBRR' and semTagGl.SemanticTag = 'ACR_COST'
         then cast (AmountInCompanyCodeCurrency as fins_trr_acccogs )
         else cast ( cast ('0' as abap.curr( 23,2))   as fins_trr_acccogs ) end )               as AccruedCOGSAmtInCCCrcy,

      sum(
          case when SemanticTag = 'RECO_COS'
               then cast (AmountInCompanyCodeCurrency * (-1) as fins_trr_reccogs )
               else cast ( cast ('0' as abap.curr( 23,2))   as fins_trr_reccogs ) end )         as RecognizedCOGSAmtInCCCrcy,

      sum(
      case when SemanticTag = 'RECO_REV'
         then cast (AmountInCompanyCodeCurrency * (-1) as fins_trr_recrevn )
         else cast ( cast ('0' as abap.curr( 23,2))   as fins_trr_recrevn ) end )               as RecognizedRevnAmtInCCCrcy,

      sum(
      case when SemanticTag = 'REC_MARGIN'
         then cast (AmountInCompanyCodeCurrency * (-1) as fins_trr_recmargin )
         else cast ( cast ('0' as abap.curr( 23,2))   as fins_trr_recmargin ) end )             as RecognizedMarginAmtInCCCrcy
}
where
      semtag.AccountAssignmentType        =  'PR'
  and semTagGl.ValidityStartDate          <= $session.system_date
  and semTagGl.ValidityEndDate            >= $session.system_date
  and semtag.FiscalPeriod                 <> '000'
  and semtag.WBSElementInternalID         <> '00000000'
  and WBSElement.ResultAnalysisInternalID <> ' '
  and semTagGl.GLAccountHierarchy         =  evalscp.GLAccountHierarchy
  and tkkaa.rflg1                         =  'X'


group by
  WBSElement.ProjectInternalID,
  WBSElement.WBSElementInternalID,
  WBSElement.ResponsiblePerson,
  WBSElement.ResponsiblePersonName,
  WBSElement.WBSElement,
  WBSElement.ResultAnalysisInternalID,
  WBSElement.WBSDescription,
  WBSElement.Project,
  semtag.CompanyCode,
  semtag.CompanyCodeCurrency,
  semtag.FiscalYear,
  semtag.FiscalPeriod,
  semtag.FiscalYearPeriod,
  semtag.Ledger
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EVTBSDREVNRECGNEVALSCP",
"I_EVTBSDREVNRECGNOBJLIFECYCLE",
"I_GLACCOUNTLINEITEM",
"I_SEMTAGGLACCOUNT",
"I_WBSELEMENT",
"P_TRRMONWBSUNION",
"TKKAA"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/