@AbapCatalog.sqlViewName: 'FINS_RR_COSACT2B'
@ClientDependent: true
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Actuals for data with CO objects'
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
//Has the parameter p_fiscyearper
//Similar result as Fins_Rev_Rec_Cos_Actual_View, but without posting date, fiscal year, fiscal period and fiscal year period
//Selects from ACDOCA with condition acdoca-fiscyearper <= p_fiscyearper
define view FINS_REV_REC_COSACT_VIEW2_BAS
with parameters
p_fiscyearper :jahrper
as select
a.rldnr as rldnr,
objnr,
ps_posid,
ps_psp_pnr,
paobjnr,
aufnr,
kdauf,
kdpos,
service_doc_id,
service_doc_item_id,
service_contract_id,
service_contract_item_id,
vtkey,
vtpos,
//gjahr, poper, //
// cast( case when a.fiscyearper <= :p_fiscyearper then '0000001' else '9999012' end as jahrper ) as fiscyearper, //
//budat, //
racct as hkont,
gkont,
slalittype,
rbukrs as bukrs,
werks,
rbusa as gsber,
prctr,
//segment, rfarea as fkber, scope,
//pbukrs, rassc as vbund, sbusa as pargb, pprctr, psegment, sfarea as pfkber,
matnr,
// hkgrp, lifnr, kunnr,
pernr,
rsrce,
uprctr,
accasty,
bttype,
cast( case a.bttype when 'RFCV' then a.bttype else ( case a.vrgng when '' then a.vorgn when 'COIE' then a.vorgn when 'COIN' then a.vorgn else a.vrgng end ) end as fins_trr_bttype ) as bttype_tec,
beltp,
rwcur,
rhcur,
rkcur,
rocur,
rvcur,
rbcur,
rccur,
rdcur,
recur,
rfcur,
rgcur,
rco_ocur,
runit,
max(budat) as max_budat,
sum(wsl) as wsl,
sum(hsl) as hsl,
sum(ksl) as ksl,
sum(kfsl) as kfsl,
sum(osl) as osl,
sum(vsl) as vsl,
sum(bsl) as bsl,
sum(csl) as csl,
sum(dsl) as dsl,
sum(esl) as esl,
sum(fsl) as fsl,
sum(gsl) as gsl,
sum(co_osl) as co_osl,
sum(msl) as msl
from acdoca as a
inner join finsc_ld_cmp as v on a.rbukrs = v.bukrs
and a.rldnr = v.rldnr --- Ledger space is obsolete or a.rldnr = '' )
// and ( v.versn = '000' or v.versn <> '' ) --- select only the ledger which is assigned to version 000;
inner join t000 as b on a.rclnt = b.mandt
//where ( a.co_belnr <> '' and a.co_buzei <> '000' and not ( accasty is null or accasty = '' ) or ( mig_source = 'C' and bstat = 'C' ) )
where
(
a.objnr <> ''
and a.glaccount_type <> 'X'
and not(
accasty is null
or accasty = ''
)
or(
mig_source = 'C'
and bstat = 'C'
)
or(
mig_source = ' '
and bstat = 'C'
)
)
and(
a.logsyso = ''
or a.logsyso = b.logsys
)
and vorgn <> 'TBRR'
and a.fiscyearper <= :p_fiscyearper
// and not (a.bstat = 'C' and a.poper = '000')
and(
a.mig_source <> ' '
or(
a.mig_source = ' '
and not(
a.bstat = 'C'
and a.poper = '000'
)
)
)
group by
a.rldnr,
objnr,
ps_posid,
ps_psp_pnr,
paobjnr,
aufnr,
kdauf,
kdpos,
service_doc_id,
service_doc_item_id,
service_contract_id,
service_contract_item_id,
vtkey,
vtpos,
// gjahr, poper,//
// fiscyearper, //
// budat,//
racct,
gkont,
slalittype,
rbukrs,
werks,
rbusa,
prctr,
// segment, rfarea, scope,
// pbukrs, rassc, sbusa, pprctr, psegment, sfarea,
matnr,
// hkgrp, lifnr, kunnr,
pernr,
rsrce,
uprctr,
accasty,
bttype,
vorgn,
vrgng,
beltp,
rwcur,
rhcur,
rkcur,
rocur,
rvcur,
rbcur,
rccur,
rdcur,
recur,
rfcur,
rgcur,
rco_ocur,
runit;