FARR_JournalEntryItem is a CDS View that provides data about "Revenue Accounting-ACDOCA Extended View" in SAP S/4HANA. It reads from 3 data sources (P_ACDOCA, FARR_AcctgPrncpRepLdgrMapping, finsc_ld_cmp) and exposes 41 fields with key fields post_cat, contract_id, pob_id, guid, rldnr. It has 1 association to related views. Part of development package FARR_CONTRACT_CDS.
@AccessControl.authorizationCheck: #NOT_REQUIRED@EndUserText.label: 'Revenue Accounting-ACDOCA Extended View'
@ObjectModel.usageType: { serviceQuality: #C, sizeCategory: #XXL, dataClass: #TRANSACTIONAL }defineviewentity FARR_JournalEntryItem
asselectfrom P_ACDOCA as _ACDOCA
innerjoin finsc_ld_cmp as _FINSC on _FINSC.bukrs = _ACDOCA.rbukrs
and _FINSC.rldnr = _ACDOCA.rldnr
innerjoin FARR_AcctgPrncpRepLdgrMapping as _FARR_MAPPING on _FARR_MAPPING.AccountingPrinciple = _FINSC.acc_principle
and _FARR_MAPPING.Ledger = _FINSC.rldnr
leftouter to one join farr_pst_cat_map as _CAT_MAP on _CAT_MAP.slalittype = _ACDOCA.slalittype
leftouter to one join farr_d_lcc_map as _LCC_MAP on _LCC_MAP.company_code = _ACDOCA.rbukrs
and _LCC_MAP.curc_old = _ACDOCA.rwcur
association [0..1] to I_WBSElementBasicData as _WBSElement on _ACDOCA.ps_psp_pnr = _WBSElement.WBSElementInternalID
{
key _CAT_MAP.posting_cat as post_cat,
key _FINSC.acc_principle as acct_principle,
key _ACDOCA.ra_contract_id as contract_id,
key _ACDOCA.ra_pob_id as pob_id,
key hextobin('00000000000000000000000000000000') as guid,
key _ACDOCA.rldnr as rldnr,
key _ACDOCA.gjahr as gjahr,
key _ACDOCA.belnr as belnr,
key _ACDOCA.docln as docln,
key _ACDOCA.rbukrs as company_code,
key _ACDOCA.drcrk as shkzg,
keycast(' ' as kscha preserving type) as condition_type,
keycast(' '
as farr_recon_key preserving type) as recon_key,
keycast('C' as farr_recon_key_status preserving type) as status,
@Semantics.amount.currencyCode: 'hwae2'
cast(casewhen _FINSC.curposo = '2' then _ACDOCA.osl
when _FINSC.curposv = '2' then _ACDOCA.vsl
when _FINSC.curposb = '2' then _ACDOCA.bsl
when _FINSC.curposc = '2' then _ACDOCA.csl
when _FINSC.curposd = '2' then _ACDOCA.dsl
when _FINSC.curpose = '2' then _ACDOCA.esl
when _FINSC.curposf = '2' then _ACDOCA.fsl
when _FINSC.curposg = '2' then _ACDOCA.gsl
when _FINSC.curposk = '2' then _ACDOCA.ksl
elsecast(0 as wertv12)
endas farr_amount_lc2 preserving type) as betr2,
cast(casewhen _FINSC.curposo = '2' then _ACDOCA.rocur
when _FINSC.curposv = '2' then _ACDOCA.rvcur
when _FINSC.curposb = '2' then _ACDOCA.rbcur
when _FINSC.curposc = '2' then _ACDOCA.rccur
when _FINSC.curposd = '2' then _ACDOCA.rdcur
when _FINSC.curpose = '2' then _ACDOCA.recur
when _FINSC.curposf = '2' then _ACDOCA.rfcur
when _FINSC.curposg = '2' then _ACDOCA.rgcur
when _FINSC.curposk = '2' then _ACDOCA.rkcur
else ''
endas hwae2) as hwae2,
@Semantics.amount.currencyCode: 'hwae3'
cast(casewhen _FINSC.curposo = '3' then _ACDOCA.osl
when _FINSC.curposv = '3' then _ACDOCA.vsl
when _FINSC.curposb = '3' then _ACDOCA.bsl
when _FINSC.curposc = '3' then _ACDOCA.csl
when _FINSC.curposd = '3' then _ACDOCA.dsl
when _FINSC.curpose = '3' then _ACDOCA.esl
when _FINSC.curposf = '3' then _ACDOCA.fsl
when _FINSC.curposg = '3' then _ACDOCA.gsl
when _FINSC.curposk = '3' then _ACDOCA.ksl
elsecast(0 as wertv12)
endas farr_amount_lc3 preserving type) as betr3,
cast(casewhen _FINSC.curposo = '3' then _ACDOCA.rocur
when _FINSC.curposv = '3' then _ACDOCA.rvcur
when _FINSC.curposb = '3' then _ACDOCA.rbcur
when _FINSC.curposc = '3' then _ACDOCA.rccur
when _FINSC.curposd = '3' then _ACDOCA.rdcur
when _FINSC.curpose = '3' then _ACDOCA.recur
when _FINSC.curposf = '3' then _ACDOCA.rfcur
when _FINSC.curposg = '3' then _ACDOCA.rgcur
when _FINSC.curposk = '3' then _ACDOCA.rkcur
else ''
endas hwae3) as hwae3,
cast('' as farr_shkzg_va preserving type) as shkzg_va,
cast('' as kstat preserving type) as statistic,
cast(' ' as farr_rai_srcco preserving type) as srcdoc_comp,
cast(' ' as farr_rai_srcls preserving type) as srcdoc_logsys,
cast(' ' as farr_rai_srcty preserving type) as srcdoc_type,
cast(' '
as farr_rai_srcid preserving type) as srcdoc_id,
@Semantics.amount.currencyCode: 'waers'
cast(_ACDOCA.wsl as farr_amount_tc preserving type) as betrw,
cast(_ACDOCA.rwcur as waers preserving type) as waers,
@Semantics.amount.currencyCode: 'hwaer'
cast(_ACDOCA.hsl as farr_amount_lc preserving type) as betrh,
cast(_ACDOCA.rhcur as hwaer preserving type) as hwaer,
_ACDOCA.racct as hkont,
_CAT_MAP.special_indicator as spec_indicator,
_ACDOCA.valobjtype as valobjtype,
_ACDOCA.valobj_id as valobj_id,
_ACDOCA.rfarea as fkber,
_ACDOCA.rbusa as gsber,
_ACDOCA.rcntr as kostl,
_ACDOCA.poper,
_ACDOCA.segment,
_ACDOCA.prctr,
_ACDOCA.paobjnr,
_ACDOCA.aufnr,
_ACDOCA.kdauf,
_ACDOCA.kdpos,
_WBSElement.WBSElementExternalID as ps_posid,
_ACDOCA.ps_psp_pnr,
_ACDOCA.awtyp,
_ACDOCA.awsys,
_ACDOCA.aworg,
_ACDOCA.awref,
_ACDOCA.bstat,
_ACDOCA.mig_source,
_ACDOCA.timestamp
}
where ( ( _ACDOCA.vorgn = 'FIRA' // select entries which were posted by RAR
and _LCC_MAP.curc_new isnull )
// filter out entries with obsolete transaction currencies
or ( _ACDOCA.vorgn = 'TBRR' // select entries which were posted by EBRR
and _ACDOCA.ra_contract_id isnot initial ) )