P_SrvcDocRevnRecgnSTBase

DDL: P_SRVCDOCREVNRECGNSTBASE Type: view_entity CONSUMPTION Package: FINS_REV_REC_UI_SC

P_SrvcDocRevnRecgnJEBaseHome

P_SrvcDocRevnRecgnSTBase is a Consumption CDS View that provides data about "P_SrvcDocRevnRecgnJEBaseHome" in SAP S/4HANA. It reads from 6 data sources and exposes 53 fields with key fields ServiceDocumentType, ServiceDocument, ServiceDocumentItem, CompanyCode, Ledger. Part of development package FINS_REV_REC_UI_SC.

Data Sources (6)

SourceAliasJoin Type
I_EvtBsdRevnRecgnEvalScp evalscp inner
I_EvtBsdRevnRecgnEvalScp evalscp inner
I_GLAccountLineItem GLAccountLineItem from
I_GLAccountLineItem GLAccountLineItem union_all
I_SemTagGLAccount semTagGl inner
I_SemTagGLAccount semTagGl inner

Parameters (1)

NameTypeDefault
P_ToFiscalYearPeriod fis_tojahrper_c

Annotations (7)

NameValueLevelField
Metadata.ignorePropagatedAnnotations true view
VDM.viewType #CONSUMPTION view
VDM.private true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view

Fields (53)

KeyFieldSource TableSource FieldDescription
KEY ServiceDocumentType I_GLAccountLineItem ServiceContractType
KEY ServiceDocument I_GLAccountLineItem ServiceContract
KEY ServiceDocumentItem I_GLAccountLineItem ServiceContractItem
KEY CompanyCode I_GLAccountLineItem CompanyCode
KEY Ledger I_GLAccountLineItem Ledger
CompanyCodeCurrency I_GLAccountLineItem CompanyCodeCurrency
ToFiscalYearPeriod I_GLAccountLineItem FiscalYearPeriod
AccountAssignmentType I_GLAccountLineItem AccountAssignmentType
GLAccountHierarchy I_SemTagGLAccount GLAccountHierarchy
ActlSlsDeductionAmtInCCCrcy
RecognizableCostAmtInCCCrcy
RecognizableRevenueAmtInCCCrcy
RevenueAdjustmentAmtInCCCrcy
COGSAdjustmentAmtInCCCrcy
DeferredCOGSAmtInCCCrcy
DeferredRevenueAmtInCCCrcy
AccruedRevenueAmtInCCCrcy
AccruedCOGSAmtInCCCrcy
ImminentLossRsrvAmtInCCCrcy
SalesDeductReserveAmtInCCCrcy
UnrlzdCostsReserveAmtInCCCrcy
UnbilledRevnInCoCodeCrcy
MnlContrAccrPnLItmAmtInCCCrcy
MnlContrAccrBalShtAmtInCCCrcy
RecognizedCOGSAmtInCCCrcy
RecognizedRevnAmtInCCCrcy
ServiceDocumentTypeasServiceDocumentType
KEY ServiceDocument I_GLAccountLineItem ServiceDocument
KEY ServiceDocumentItem I_GLAccountLineItem ServiceDocumentItem
KEY CompanyCode I_GLAccountLineItem CompanyCode
KEY Ledger I_GLAccountLineItem Ledger
CompanyCodeCurrency I_GLAccountLineItem CompanyCodeCurrency
ToFiscalYearPeriod I_GLAccountLineItem FiscalYearPeriod
AccountAssignmentType
GLAccountHierarchy I_SemTagGLAccount GLAccountHierarchy
ActlSlsDeductionAmtInCCCrcy
RecognizableCostAmtInCCCrcy
RecognizableRevenueAmtInCCCrcy
RevenueAdjustmentAmtInCCCrcy
COGSAdjustmentAmtInCCCrcy
DeferredCOGSAmtInCCCrcy
DeferredRevenueAmtInCCCrcy
AccruedRevenueAmtInCCCrcy
AccruedCOGSAmtInCCCrcy
ImminentLossRsrvAmtInCCCrcy
SalesDeductReserveAmtInCCCrcy
UnrlzdCostsReserveAmtInCCCrcy
UnbilledRevnInCoCodeCrcy
MnlContrAccrPnLItmAmtInCCCrcy
MnlContrAccrBalShtAmtInCCCrcy
RecognizedCOGSAmtInCCCrcy
RecognizedRevnAmtInCCCrcy
RecognizedMarginAmtInCCCrcy
@Metadata.ignorePropagatedAnnotations: true
@VDM.viewType: #CONSUMPTION
@VDM.private:true
@AccessControl.authorizationCheck: #NOT_REQUIRED

@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED
define view entity P_SrvcDocRevnRecgnSTBase
  with parameters
    P_ToFiscalYearPeriod : fis_tojahrper_c
  as
  
  select from  I_GLAccountLineItem as GLAccountLineItem 

    inner join I_EvtBsdRevnRecgnEvalScp as evalscp 
      on  evalscp.CompanyCode = GLAccountLineItem.CompanyCode
      and evalscp.Ledger      = GLAccountLineItem.Ledger  
    
    inner join I_SemTagGLAccount as semTagGl 
      on  semTagGl.GLAccount          = GLAccountLineItem.GLAccount
      and semTagGl.ChartOfAccounts    = GLAccountLineItem.ChartOfAccounts
      and semTagGl.ValidityStartDate <= $session.system_date
      and semTagGl.ValidityEndDate   >= $session.system_date
      and (    semTagGl.SemanticTag   = 'SALES_DED'
            or semTagGl.SemanticTag   = 'ACT_COST'  
            or semTagGl.SemanticTag   = 'BILL_REV'  
            or semTagGl.SemanticTag   = 'ADJ_REV'  
            or semTagGl.SemanticTag   = 'ADJ_COS'  
            or semTagGl.SemanticTag   = 'DEF_COST'  
            or semTagGl.SemanticTag   = 'DEF_REV'  
            or semTagGl.SemanticTag   = 'ACR_REV'  
            or semTagGl.SemanticTag   = 'ACR_COST'  
            or semTagGl.SemanticTag   = 'RES_MIL'  
            or semTagGl.SemanticTag   = 'RES_MASD'
            or semTagGl.SemanticTag   = 'RES_MUC'                                                      
            or semTagGl.SemanticTag   = 'UNBILL_REV'                                                      
            or semTagGl.SemanticTag   = 'MCONTR_PL'                                                      
            or semTagGl.SemanticTag   = 'MCONTR_BS'                                                      
            or semTagGl.SemanticTag   = 'RECO_COS'                                                      
            or semTagGl.SemanticTag   = 'RECO_REV' 
            or semTagGl.SemanticTag   = 'REC_MARGIN'
          )  
                                                                                                        
{
  key GLAccountLineItem.ServiceContractType   as ServiceDocumentType,
  key GLAccountLineItem.ServiceContract       as ServiceDocument,
  key GLAccountLineItem.ServiceContractItem   as ServiceDocumentItem,
  key GLAccountLineItem.CompanyCode           as CompanyCode,
  key GLAccountLineItem.Ledger                as Ledger,

      GLAccountLineItem.CompanyCodeCurrency   as CompanyCodeCurrency,
      GLAccountLineItem.FiscalYearPeriod      as ToFiscalYearPeriod,
      GLAccountLineItem.AccountAssignmentType as AccountAssignmentType,
      semTagGl.GLAccountHierarchy             as GLAccountHierarchy,

      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      sum(case when GLAccountLineItem.BusinessTransactionType <> 'TBRR' and semTagGl.SemanticTag = 'SALES_DED'  then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as ActlSlsDeductionAmtInCCCrcy,
 
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency' 
      sum(case when GLAccountLineItem.BusinessTransactionType <> 'TBRR' and semTagGl.SemanticTag = 'ACT_COST'   then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as RecognizableCostAmtInCCCrcy,
 
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency' 
      sum(case when GLAccountLineItem.BusinessTransactionType <> 'TBRR' and semTagGl.SemanticTag = 'BILL_REV'   then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as RecognizableRevenueAmtInCCCrcy,
 
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency' 
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'ADJ_REV'    then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as RevenueAdjustmentAmtInCCCrcy,
   
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'   
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'ADJ_COS'    then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as COGSAdjustmentAmtInCCCrcy,
   
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'   
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'DEF_COST'   then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as DeferredCOGSAmtInCCCrcy,
    
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'    
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'DEF_REV'    then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as DeferredRevenueAmtInCCCrcy,
    
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'    
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'ACR_REV'    then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as AccruedRevenueAmtInCCCrcy,
    
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'    
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'ACR_COST'   then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as AccruedCOGSAmtInCCCrcy,
    
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'    
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'RES_MIL'    then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as ImminentLossRsrvAmtInCCCrcy,
    
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'    
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'RES_MASD'   then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as SalesDeductReserveAmtInCCCrcy,
    
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'    
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'RES_MUC'    then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as UnrlzdCostsReserveAmtInCCCrcy,
   
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'   
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'UNBILL_REV' then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as UnbilledRevnInCoCodeCrcy,
  
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'  
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'MCONTR_PL'  then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as MnlContrAccrPnLItmAmtInCCCrcy,
  
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'  
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'MCONTR_BS'  then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as MnlContrAccrBalShtAmtInCCCrcy,

      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      sum(case when semTagGl.SemanticTag = 'RECO_COS'   then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as RecognizedCOGSAmtInCCCrcy,
  
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'  
      sum(case when semTagGl.SemanticTag = 'RECO_REV'   then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as RecognizedRevnAmtInCCCrcy,
      
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      sum(case when semTagGl.SemanticTag = 'REC_MARGIN' then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as RecognizedMarginAmtInCCCrcy     
}

    where GLAccountLineItem.AccountAssignmentType  = 'SC'
      and GLAccountLineItem.FiscalYearPeriod      <= $parameters.P_ToFiscalYearPeriod
      and GLAccountLineItem.FiscalPeriod          <> '000'
      and semTagGl.GLAccountHierarchy              = evalscp.GLAccountHierarchy
    
    group by
      GLAccountLineItem.ServiceContract,
      GLAccountLineItem.ServiceContractItem,
      GLAccountLineItem.ServiceContractType,
      GLAccountLineItem.ServiceDocument,
      GLAccountLineItem.ServiceDocumentItem,
      GLAccountLineItem.ServiceDocumentType,
      GLAccountLineItem.CompanyCode,
      GLAccountLineItem.FiscalYearPeriod,
      GLAccountLineItem.CompanyCodeCurrency,
      GLAccountLineItem.Ledger,
      semTagGl.GLAccountHierarchy,
      GLAccountLineItem.AccountAssignmentType

union all

  select from  I_GLAccountLineItem as GLAccountLineItem 

    inner join I_EvtBsdRevnRecgnEvalScp as evalscp 
      on  evalscp.CompanyCode = GLAccountLineItem.CompanyCode
      and evalscp.Ledger      = GLAccountLineItem.Ledger  
    
    inner join I_SemTagGLAccount as semTagGl 
      on  semTagGl.GLAccount          = GLAccountLineItem.GLAccount
      and semTagGl.ChartOfAccounts    = GLAccountLineItem.ChartOfAccounts
      and semTagGl.ValidityStartDate <= $session.system_date
      and semTagGl.ValidityEndDate   >= $session.system_date
      and (    semTagGl.SemanticTag   = 'SALES_DED'
            or semTagGl.SemanticTag   = 'ACT_COST'  
            or semTagGl.SemanticTag   = 'BILL_REV'  
            or semTagGl.SemanticTag   = 'ADJ_REV'  
            or semTagGl.SemanticTag   = 'ADJ_COS'  
            or semTagGl.SemanticTag   = 'DEF_COST'  
            or semTagGl.SemanticTag   = 'DEF_REV'  
            or semTagGl.SemanticTag   = 'ACR_REV'  
            or semTagGl.SemanticTag   = 'ACR_COST'  
            or semTagGl.SemanticTag   = 'RES_MIL'  
            or semTagGl.SemanticTag   = 'RES_MASD'
            or semTagGl.SemanticTag   = 'RES_MUC'                                                      
            or semTagGl.SemanticTag   = 'UNBILL_REV'                                                      
            or semTagGl.SemanticTag   = 'MCONTR_PL'                                                      
            or semTagGl.SemanticTag   = 'MCONTR_BS'                                                      
            or semTagGl.SemanticTag   = 'RECO_COS'                                                      
            or semTagGl.SemanticTag   = 'RECO_REV' 
            or semTagGl.SemanticTag   = 'REC_MARGIN'
          ) 

{
  key GLAccountLineItem.ServiceDocumentType   as ServiceDocumentType,
  key GLAccountLineItem.ServiceDocument       as ServiceDocument,
  key GLAccountLineItem.ServiceDocumentItem   as ServiceDocumentItem,
  key GLAccountLineItem.CompanyCode           as CompanyCode,
  key GLAccountLineItem.Ledger                as Ledger,

      GLAccountLineItem.CompanyCodeCurrency       as CompanyCodeCurrency,
      GLAccountLineItem.FiscalYearPeriod          as ToFiscalYearPeriod,
      cast( 'SV' as fis_accasty preserving type ) as AccountAssignmentType,
      semTagGl.GLAccountHierarchy                 as GLAccountHierarchy,

      sum(case when GLAccountLineItem.BusinessTransactionType <> 'TBRR' and semTagGl.SemanticTag = 'SALES_DED'  then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as ActlSlsDeductionAmtInCCCrcy,
 
      sum(case when GLAccountLineItem.BusinessTransactionType <> 'TBRR' and semTagGl.SemanticTag = 'ACT_COST'   then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as RecognizableCostAmtInCCCrcy,
 
      sum(case when GLAccountLineItem.BusinessTransactionType <> 'TBRR' and semTagGl.SemanticTag = 'BILL_REV'   then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as RecognizableRevenueAmtInCCCrcy,
 
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'ADJ_REV'    then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as RevenueAdjustmentAmtInCCCrcy,
   
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'ADJ_COS'    then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as COGSAdjustmentAmtInCCCrcy,
   
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'DEF_COST'   then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as DeferredCOGSAmtInCCCrcy,
    
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'DEF_REV'    then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as DeferredRevenueAmtInCCCrcy,
    
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'ACR_REV'    then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as AccruedRevenueAmtInCCCrcy,
    
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'ACR_COST'   then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as AccruedCOGSAmtInCCCrcy,
    
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'RES_MIL'    then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as ImminentLossRsrvAmtInCCCrcy,
    
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'RES_MASD'   then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as SalesDeductReserveAmtInCCCrcy,
    
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'RES_MUC'    then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as UnrlzdCostsReserveAmtInCCCrcy,
   
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'UNBILL_REV' then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as UnbilledRevnInCoCodeCrcy,
  
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'MCONTR_PL'  then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as MnlContrAccrPnLItmAmtInCCCrcy,
  
      sum(case when GLAccountLineItem.BusinessTransactionType  = 'TBRR' and semTagGl.SemanticTag = 'MCONTR_BS'  then  GLAccountLineItem.AmountInCompanyCodeCurrency end ) as MnlContrAccrBalShtAmtInCCCrcy,

      sum(case when semTagGl.SemanticTag = 'RECO_COS'   then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as RecognizedCOGSAmtInCCCrcy,
  
      sum(case when semTagGl.SemanticTag = 'RECO_REV'   then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as RecognizedRevnAmtInCCCrcy,
      
      sum(case when semTagGl.SemanticTag = 'REC_MARGIN' then -GLAccountLineItem.AmountInCompanyCodeCurrency end ) as RecognizedMarginAmtInCCCrcy   

}
    where (    GLAccountLineItem.AccountAssignmentType = 'SV'
            or GLAccountLineItem.AccountAssignmentType = 'OR' )
      and GLAccountLineItem.FiscalYearPeriod          <= $parameters.P_ToFiscalYearPeriod
      and GLAccountLineItem.FiscalPeriod              <> '000'
      and semTagGl.GLAccountHierarchy                  = evalscp.GLAccountHierarchy
    
    group by
      GLAccountLineItem.ServiceContract,
      GLAccountLineItem.ServiceContractItem,
      GLAccountLineItem.ServiceContractType,
      GLAccountLineItem.ServiceDocument,
      GLAccountLineItem.ServiceDocumentItem,
      GLAccountLineItem.ServiceDocumentType,
      GLAccountLineItem.CompanyCode,
      GLAccountLineItem.FiscalYearPeriod,
      GLAccountLineItem.CompanyCodeCurrency,
      GLAccountLineItem.Ledger,
      semTagGl.GLAccountHierarchy,
      GLAccountLineItem.AccountAssignmentType