@AbapCatalog.sqlViewName: 'PTRRSOCHARTBASE'
@VDM.viewType: #COMPOSITE
@VDM.private:true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_Trrsochartbase
as
select from I_GLAccountLineItem as semtag
inner join I_SemTagGLAccount as semTagGl on semTagGl.GLAccount = semtag.GLAccount
and semTagGl.ChartOfAccounts = semtag.ChartOfAccounts
inner join vbak as vbak on vbak.vbeln = semtag.SalesOrder
inner join vbap as vbap on vbap.vbeln = semtag.SalesOrder
and vbap.posnr = semtag.SalesOrderItem
inner join I_EvtBsdRevnRecgnEvalScp as evalscp on evalscp.CompanyCode = semtag.CompanyCode
and evalscp.Ledger = semtag.Ledger
inner join I_EvtBsdRevnRecgnObjLifeCycle as lifecyc on lifecyc.Ledger = semtag.Ledger
and lifecyc.CompanyCode = semtag.CompanyCode
and lifecyc.SalesDocument = vbap.vbeln
and lifecyc.SalesDocumentItem = vbap.posnr
inner join tkkaa as tkkaa on tkkaa.abgsl = vbap.abgrs
{
key vbap.vbeln as SalesOrder,
key vbap.posnr as SalesOrderItem,
key semtag.Ledger as Ledger,
key semtag.CompanyCode as CompanyCode,
key semtag.FiscalYear as FiscalYear,
key semtag.FiscalPeriod as FiscalPeriod,
semtag.FiscalYearPeriod as FiscalYearPeriod,
cast ( vbap.abgrs as fins_trr_recgnkey ) as ResultAnalysisInternalID,
vbak.vkorg as SalesOrganization,
semtag.CompanyCodeCurrency as CompanyCodeCurrency,
cast ( vbap.arktx as fins_trr_salesord_itm_text ) as SalesOrderItemText,
cast ( lifecyc.PostingFiscalPeriod as fis_jahrper_conv preserving type ) as PostingFiscalPeriod,
lifecyc.PostingDate as PostingDate,
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 semtag.BusinessTransactionType = 'TBRR' and semTagGl.SemanticTag = 'RES_MIL'
then cast (AmountInCompanyCodeCurrency as fins_trr_resimmloss )
else cast ( cast ('0' as abap.curr( 23,2)) as fins_trr_resimmloss ) end ) as ImminentLossRsrvAmtInCCCrcy,
sum(
case when semtag.BusinessTransactionType = 'TBRR' and semTagGl.SemanticTag = 'RES_MASD'
then cast (AmountInCompanyCodeCurrency as fins_trr_ressalesded )
else cast ( cast ('0' as abap.curr( 23,2)) as fins_trr_ressalesded ) end ) as SalesDeductReserveAmtInCCCrcy,
sum(
case when semtag.BusinessTransactionType = 'TBRR' and semTagGl.SemanticTag = 'RES_MUC'
then cast (AmountInCompanyCodeCurrency as fins_trr_unrealcosts )
else cast ( cast ('0' as abap.curr( 23,2)) as fins_trr_unrealcosts ) end ) as UnrlzdCostsReserveAmtInCCCrcy,
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,
_Ledger,
_CompanyCode,
_CompanyCodeCurrency
}
where
(
semtag.AccountAssignmentType = 'OR'
or semtag.AccountAssignmentType = 'EO'
)
and semTagGl.GLAccountHierarchy = evalscp.GLAccountHierarchy
and semTagGl.ValidityStartDate <= $session.system_date
and semTagGl.ValidityEndDate >= $session.system_date
and semtag.FiscalPeriod <> '000'
and vbap.abgrs <> ' '
and tkkaa.rflg1 = 'X'
and(
vbak.vbtyp = 'C'
or vbak.vbtyp = 'H'
)
and(
vbap.pstyv = 'TAN'
or vbap.pstyv = 'TANN'
or vbap.pstyv = 'CBEN'
// or vbap.pstyv = 'RENV'
or vbap.pstyv = 'CBTC'
or vbap.pstyv = 'TAD'
or vbap.pstyv = 'CB1'
or vbap.pstyv = 'CB2'
or vbap.pstyv = 'TAQ'
or vbap.pstyv = 'CBXN'
or vbap.pstyv = 'CBTA'
or vbap.pstyv = 'TAX'
)
and(
vbap.fkrel = 'A'
or vbap.fkrel = 'B'
or vbap.fkrel = 'F'
or vbap.fkrel = 'K'
)
and(
vbap.kzvbr = ' '
or vbap.kzvbr = 'V'
)
group by
vbap.vbeln,
vbap.posnr,
vbap.abgrs,
vbap.arktx,
vbak.vkorg,
semtag.CompanyCode,
semtag.CompanyCodeCurrency,
semtag.Ledger,
lifecyc.PostingFiscalPeriod,
lifecyc.PostingDate,
semtag.FiscalYear,
semtag.FiscalPeriod,
semtag.FiscalYearPeriod
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EVTBSDREVNRECGNEVALSCP",
"I_EVTBSDREVNRECGNOBJLIFECYCLE",
"I_GLACCOUNTLINEITEM",
"I_SEMTAGGLACCOUNT",
"TKKAA",
"VBAK",
"VBAP"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_CURRENCY",
"I_LEDGER"
],
"BASE":
[
"I_GLACCOUNTLINEITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/