@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_View2, but without details like personal number or resource
//Selects from ACDOCA with condition acdoca-fiscyearper <= p_fiscyearper
define view entity FINS_REV_REC_COSACT_VIEW3_BAS
with parameters
p_fiscyearper :jahrper
as select
from acdoca as a
inner join finsc_ld_cmp as v on a.rbukrs = v.bukrs
and a.rldnr = v.rldnr
{
a.rldnr as rldnr,
a.objnr,
a.ps_posid,
a.ps_psp_pnr,
a.paobjnr,
a.aufnr,
a.kdauf,
a.kdpos,
a.service_doc_id,
a.service_doc_item_id,
a.service_contract_id,
a.service_contract_item_id,
a.vtkey,
a.vtpos,
//gjahr, poper, fiscyearper,//
//budat, //
a.racct as hkont,
a.gkont,
a.slalittype,
a.rbukrs as bukrs,
a.werks,
a.rbusa as gsber,
a.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,//
a.accasty,
a.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,
a.beltp,
a.rwcur,
a.rhcur,
a.rkcur,
a.rocur,
a.rvcur,
a.rbcur,
a.rccur,
a.rdcur,
a.recur,
a.rfcur,
a.rgcur,
a.rco_ocur,
a.runit,
max(a.budat) as max_budat,
@Semantics.amount.currencyCode: 'rwcur'
sum(a.wsl) as wsl,
@Semantics.amount.currencyCode: 'rhcur'
sum(a.hsl) as hsl,
@Semantics.amount.currencyCode: 'rkcur'
sum(a.ksl) as ksl,
@Semantics.amount.currencyCode: 'rkcur'
sum(a.kfsl) as kfsl,
@Semantics.amount.currencyCode: 'rocur'
sum(a.osl) as osl,
@Semantics.amount.currencyCode: 'rvcur'
sum(a.vsl) as vsl,
@Semantics.amount.currencyCode: 'rbcur'
sum(a.bsl) as bsl,
@Semantics.amount.currencyCode: 'rccur'
sum(a.csl) as csl,
@Semantics.amount.currencyCode: 'rdcur'
sum(a.dsl) as dsl,
@Semantics.amount.currencyCode: 'recur'
sum(a.esl) as esl,
@Semantics.amount.currencyCode: 'rfcur'
sum(a.fsl) as fsl,
@Semantics.amount.currencyCode: 'rgcur'
sum(a.gsl) as gsl,
@Semantics.amount.currencyCode: 'rco_ocur'
sum(a.co_osl) as co_osl,
@Semantics.quantity.unitOfMeasure: 'runit'
sum(a.msl) as msl
} --- 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(
a.accasty is null
or a.accasty = ''
)
or(
a.mig_source = 'C'
and a.bstat = 'C'
)
or(
a.mig_source = ' '
and a.bstat = 'C'
)
)
// and(
// a.logsyso = ''
// or a.logsyso = b.logsys
// )
and a.vorgn <> 'TBRR'
and a.fiscyearper <= $parameters.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,
a.objnr,
a.ps_posid,
a.ps_psp_pnr,
a.paobjnr,
a.aufnr,
a.kdauf,
a.kdpos,
a.service_doc_id,
a.service_doc_item_id,
a.service_contract_id,
a.service_contract_item_id,
a.vtkey,
a.vtpos,
// gjahr, poper, fiscyearper,//
// budat,//
a.racct,
a.gkont,
a.slalittype,
a.rbukrs,
a.werks,
a.rbusa,
a.prctr,
// segment, rfarea, scope,
// pbukrs, rassc, sbusa, pprctr, psegment, sfarea,
// matnr, hkgrp, lifnr, kunnr,
// pernr, rsrce, uprctr,//
a.accasty,
a.bttype,
a.vorgn,
a.vrgng,
a.beltp,
a.rwcur,
a.rhcur,
a.rkcur,
a.rocur,
a.rvcur,
a.rbcur,
a.rccur,
a.rdcur,
a.recur,
a.rfcur,
a.rgcur,
a.rco_ocur,
a.runit;