@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