fco_ovhd_cost_co_values1
Overhead costs from acdoca to fields for CO-Version
fco_ovhd_cost_co_values1 is a CDS View that provides data about "Overhead costs from acdoca to fields for CO-Version" in SAP S/4HANA. It reads from 6 data sources and exposes 53 fields with key fields lednr, gjahr, bukrs, objnr, vrgng.
Data Sources (6)
| Source | Alias | Join Type |
|---|---|---|
| acdoca | a | from |
| fco_cmp_versnd_add_curr | addcur | inner |
| tj01 | bt | inner |
| t000 | s | inner |
| tka01 | t | inner |
| finsc_cmp_versnd | v | inner |
Annotations (6)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| EndUserText.label | Overhead costs from acdoca to fields for CO-Version | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.serviceQuality | #X | view | |
| ObjectModel.usageType.sizeCategory | #S | view | |
| ObjectModel.usageType.dataClass | #MIXED | view |
Fields (53)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | lednr | |||
| KEY | gjahr | acdoca | ryear | |
| KEY | bukrs | acdoca | rbukrs | |
| KEY | objnr | acdoca | objnr | |
| KEY | vrgng | acdoca | vrgng | |
| KEY | beknz | acdoca | co_beknz | |
| KEY | kstar | acdoca | racct | |
| KEY | hrkft | acdoca | hrkft | |
| KEY | vbund | |||
| KEY | pargb | |||
| KEY | twaer | acdoca | rwcur | |
| KEY | meinh | acdoca | co_meinh | |
| KEY | beltp | acdoca | beltp | |
| KEY | uspob | |||
| KEY | perio | acdoca | poper | |
| versn | finsc_cmp_versnd | versn | ||
| timestmp | 0 | |||
| parob1 | acdoca | parob1 | ||
| coep_vbund | acdoca | rassc | ||
| coep_pargb | acdoca | sbusa | ||
| hwaer | acdoca | rhcur | ||
| co_belnr | acdoca | co_belnr | ||
| aworg | acdoca | aworg | ||
| awtyp | acdoca | awtyp | ||
| awsys | acdoca | awsys | ||
| awref | acdoca | awref | ||
| budat | acdoca | budat | ||
| bldat | acdoca | bldat | ||
| megbtr | ||||
| mefbtr | ||||
| wagbtr | ||||
| wvgbtr | ||||
| wbgbtr | ||||
| wcgbtr | ||||
| wdgbtr | ||||
| wegbtr | ||||
| wfgbtr | ||||
| wggbtr | ||||
| whgbtr | ||||
| fkber | acdoca | rfarea | ||
| segment | acdoca | segment | ||
| geber | acdoca | rfund | ||
| grant_nbr | acdoca | rgrant_nbr | ||
| budget_pd | acdoca | rbudget_pd | ||
| pfkber | acdoca | sfarea | ||
| psegment | acdoca | psegment | ||
| pgeber | acdoca | sfund | ||
| pgrant_nbr | acdoca | sgrant_nbr | ||
| pbudget_pd | acdoca | sbudget_pd | ||
| vornr | ||||
| arbid | acdoca | arbid | ||
| aufnr_org | acdoca | aufnr_org | ||
| vornr_org | acdoca | vornr_org |
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Overhead costs from acdoca to fields for CO-Version'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #X,
sizeCategory: #S,
dataClass: #MIXED
}
define view entity fco_ovhd_cost_co_values1
as select from acdoca as a
inner join finsc_cmp_versnd as v on a.rbukrs = v.bukrs
and a.rldnr = v.rldnr
and v.set_to_zero = ''
inner join tka01 as t on t.kokrs = a.kokrs
inner join t000 as s on s.mandt = $session.client
and(
s.logsys = a.logsyso
or a.logsyso = ''
or(
(
a.accasty = 'KS'
or a.accasty = 'KL'
)
and(
s.logsys = t.logsystem
or t.logsystem = ''
)
)
)
inner join tj01 as bt on bt.vrgng = a.vrgng
and(
bt.xcosp = 'X'
or bt.xcoss = 'X'
)
inner join fco_cmp_versnd_add_curr as addcur on a.rbukrs = addcur.bukrs
and a.rldnr = addcur.rldnr
{
key cast( '00' as fins_ledger ) as lednr,
key a.ryear as gjahr,
key a.rbukrs as bukrs,
key a.objnr,
key a.vrgng,
key a.co_beknz as beknz,
key a.racct as kstar,
key a.hrkft,
key case when bt.xcosp = 'X' then a.rassc else '' end as vbund,
key case when bt.xcosp = 'X' then a.sbusa else '' end as pargb,
key a.rwcur as twaer,
key a.co_meinh as meinh,
key a.beltp,
key case when bt.xcoss = 'X' then
case when a.parobsrc = '1' then a.parob1 else case
when a.parobsrc = '2' then a.paccasty
else '' end end else '' end as parob, // COSS only
key case when bt.xcoss = 'X' then a.uspob else '' end as uspob,
key a.poper as perio,
v.versn,
0 as timestmp,
a.parob1,
a.paccasty,
a.rassc as coep_vbund,
a.sbusa as coep_pargb,
a.rhcur as hwaer,
// reference fields block
a.co_belnr,
a.aworg,
a.awtyp,
a.awsys,
a.awref,
a.budat,
a.bldat,
@Semantics.amount.currencyCode: 'twaer'
case
when v.field_name_wtgbtr_add = 'WSL' then a.wsl
when v.field_name_wtgbtr_add = 'WSL2' then a.wsl2
when v.field_name_wtgbtr_add = 'WSL3' then a.wsl3
else cast( 0 as fins_vwcur12 )
end as wtgbtr_add,
@Semantics.amount.currencyCode: 'twaer'
case v.field_name_wtgbtr_subtract
when 'WSL' then a.wsl
when 'WSL2' then a.wsl2
when 'WSL3' then a.wsl3
else cast( 0 as fins_vwcur12 )
end as wtgbtr_subtract,
@Semantics.amount.currencyCode: 'hwaer'
case
when v.set_to_zero = 'X' then cast( 0 as fins_vhcur12 )
when v.field_name_wogbtr_add = 'CO_OSL' then a.co_osl
//others put 0 in null case. check how do we handle it in overhead
when v.field_name_wogbtr_add = 'HSL' then a.hsl
when v.field_name_wogbtr_add = 'OSL' then a.osl
when v.field_name_wogbtr_add = 'VSL' then a.vsl
when v.field_name_wogbtr_add = 'BSL' then a.bsl
when v.field_name_wogbtr_add = 'CSL' then a.csl
when v.field_name_wogbtr_add = 'DSL' then a.dsl
when v.field_name_wogbtr_add = 'ESL' then a.esl
when v.field_name_wogbtr_add = 'FSL' then a.fsl
when v.field_name_wogbtr_add = 'GSL' then a.gsl
when v.field_name_wogbtr_add = 'KSL' then a.ksl
else cast( 0 as fins_vhcur12 )
end as wogbtr_add,
@Semantics.amount.currencyCode: 'hwaer'
case v.field_name_wogbtr_subtract
when 'CO_OSL' then a.co_osl
when 'HSL' then a.hsl
when 'OSL' then a.osl
when 'VSL' then a.vsl
when 'BSL' then a.bsl
when 'CSL' then a.csl
when 'DSL' then a.dsl
when 'ESL' then a.esl
when 'FSL' then a.fsl
when 'GSL' then a.gsl
when 'KSL' then a.ksl
else cast( 0 as fins_vhcur12 )
end as wogbtr_subtract,
case
when v.set_to_zero = 'X' then a.rkcur
when v.field_name_wkgbtr_add = 'KSL' then a.rkcur
when v.field_name_wkgbtr_add = 'OSL' then a.rocur
when v.field_name_wkgbtr_add = 'VSL' then a.rvcur
when v.field_name_wkgbtr_add = 'BSL' then a.rbcur
when v.field_name_wkgbtr_add = 'CSL' then a.rccur
when v.field_name_wkgbtr_add = 'DSL' then a.rdcur
when v.field_name_wkgbtr_add = 'ESL' then a.recur
when v.field_name_wkgbtr_add = 'FSL' then a.rfcur
when v.field_name_wkgbtr_add = 'GSL' then a.rgcur
when v.field_name_wkgbtr_add = 'HSL' then a.rhcur
when v.field_name_wkgbtr_subtract = 'KSL' then a.rkcur
when v.field_name_wkgbtr_subtract = 'OSL' then a.rocur
when v.field_name_wkgbtr_subtract = 'VSL' then a.rvcur
when v.field_name_wkgbtr_subtract = 'BSL' then a.rbcur
when v.field_name_wkgbtr_subtract = 'CSL' then a.rccur
when v.field_name_wkgbtr_subtract = 'DSL' then a.rdcur
when v.field_name_wkgbtr_subtract = 'ESL' then a.recur
when v.field_name_wkgbtr_subtract = 'FSL' then a.rfcur
when v.field_name_wkgbtr_subtract = 'GSL' then a.rgcur
when v.field_name_wkgbtr_subtract = 'HSL' then a.rhcur
else cast( '' as fins_currk )
end as kwaer,
@Semantics.amount.currencyCode: 'kwaer'
case
when v.field_name_wkgbtr_add = 'KSL' then a.ksl
when v.field_name_wkgbtr_add = 'OSL' then a.osl
when v.field_name_wkgbtr_add = 'VSL' then a.vsl
when v.field_name_wkgbtr_add = 'BSL' then a.bsl
when v.field_name_wkgbtr_add = 'CSL' then a.csl
when v.field_name_wkgbtr_add = 'DSL' then a.dsl
when v.field_name_wkgbtr_add = 'ESL' then a.esl
when v.field_name_wkgbtr_add = 'FSL' then a.fsl
when v.field_name_wkgbtr_add = 'GSL' then a.gsl
when v.field_name_wkgbtr_add = 'HSL' then a.hsl
else cast( 0 as fins_vkcur12 )
end as wkgbtr_add,
@Semantics.amount.currencyCode: 'kwaer'
case v.field_name_wkgbtr_subtract
when 'KSL' then a.ksl
when 'OSL' then a.osl
when 'VSL' then a.vsl
when 'BSL' then a.bsl
when 'CSL' then a.csl
when 'DSL' then a.dsl
when 'ESL' then a.esl
when 'FSL' then a.fsl
when 'GSL' then a.gsl
when 'HSL' then a.hsl
else cast( 0 as fins_vkcur12 )
end as wkgbtr_subtract,
@Semantics.amount.currencyCode: 'kwaer'
case
when v.field_name_wkfbtr_add = 'KFSL' then a.kfsl
when v.field_name_wkfbtr_add = 'KFSL2' then a.kfsl2
when v.field_name_wkfbtr_add = 'KFSL3' then a.kfsl3
else cast( 0 as fins_vgcur12_fix )
end as wkfbtr_add,
@Semantics.amount.currencyCode: 'kwaer'
case v.field_name_wkfbtr_subtract
when 'KFSL' then a.kfsl
when 'KFSL2' then a.kfsl2
when 'KFSL3' then a.kfsl3
else cast( 0 as fins_vgcur12_fix )
end as wkfbtr_subtract,
@Semantics.amount.currencyCode: 'kwaer'
case
when v.field_name_pagbtr_add = 'PSL' then a.psl
when v.field_name_pagbtr_add = 'PSL2' then a.psl2
when v.field_name_pagbtr_add = 'PSL3' then a.psl3
else cast( 0 as fins_vpcur12 )
end as pagbtr_add,
@Semantics.amount.currencyCode: 'kwaer'
case v.field_name_pagbtr_subtract
when 'PSL' then a.psl
when 'PSL2' then a.psl2
when 'PSL3' then a.psl3
else cast( 0 as fins_vpcur12 )
end as pagbtr_subtract,
@Semantics.amount.currencyCode: 'kwaer'
case
when v.field_name_pafbtr_add = 'PFSL' then a.pfsl
when v.field_name_pafbtr_add = 'PFSL2' then a.pfsl2
when v.field_name_pafbtr_add = 'PFSL3' then a.pfsl3
else cast( 0 as fins_vpfcur12 )
end as pafbtr_add,
@Semantics.amount.currencyCode: 'kwaer'
case v.field_name_pafbtr_subtract
when 'PFSL' then a.pfsl
when 'PFSL2' then a.pfsl2
when 'PFSL3' then a.pfsl3
else cast( 0 as fins_vpfcur12 )
end as pafbtr_subtract,
@Semantics.quantity.unitOfMeasure: 'meinh'
case when v.versn = '000' and v.set_to_zero = '' then a.co_megbtr else cast( 0 as fco_megbtr) end as megbtr,
@Semantics.quantity.unitOfMeasure: 'meinh'
case when v.versn = '000' and v.set_to_zero = '' then a.co_mefbtr else cast( 0 as fco_mefbtr) end as mefbtr,
// Additional currencies:
@Semantics.amount.currencyCode: 'awaer'
case when ( v.set_to_zero = '' ) then a.osl else cast( 0 as fins_vocur12 ) end as wagbtr,
@Semantics.amount.currencyCode: 'vwaer'
case when ( v.set_to_zero = '' ) then a.vsl else cast( 0 as fins_vvcur12 ) end as wvgbtr,
@Semantics.amount.currencyCode: 'bwaer'
case when ( v.set_to_zero = '' ) then a.bsl else cast( 0 as fins_vbcur12 ) end as wbgbtr,
@Semantics.amount.currencyCode: 'cwaer'
case when ( v.set_to_zero = '' ) then a.csl else cast( 0 as fins_vccur12 ) end as wcgbtr,
@Semantics.amount.currencyCode: 'dwaer'
case when ( v.set_to_zero = '' ) then a.dsl else cast( 0 as fins_vdcur12 ) end as wdgbtr,
@Semantics.amount.currencyCode: 'ewaer'
case when ( v.set_to_zero = '' ) then a.esl else cast( 0 as fins_vecur12 ) end as wegbtr,
@Semantics.amount.currencyCode: 'fwaer'
case when ( v.set_to_zero = '' ) then a.fsl else cast( 0 as fins_vfcur12 ) end as wfgbtr,
@Semantics.amount.currencyCode: 'gwaer'
case when ( v.set_to_zero = '' ) then a.gsl else cast( 0 as fins_vgcur12 ) end as wggbtr,
@Semantics.amount.currencyCode: 'hwaer'
case when ( v.set_to_zero = '' ) then a.hsl else cast( 0 as fins_vhcur12 ) end as whgbtr,
case when v.versn = '000' then
case when ( ( v.set_to_zero = '' ) and ( addcur.acurr <> 'X' ) )
then a.rocur else cast( '' as fins_curr1 ) end
else cast( '' as fins_curr1 ) end as awaer,
case when v.versn = '000' then
case when ( ( v.set_to_zero = '' ) and ( addcur.vcurr <> 'X') )
then a.rvcur else cast( '' as fins_curr2 ) end
else cast( '' as fins_curr1 ) end as vwaer,
case when v.versn = '000' then
case when ( ( v.set_to_zero = '' ) and ( addcur.bcurr <> 'X') )
then a.rbcur else cast( '' as fins_curr3 ) end
else cast( '' as fins_curr1 ) end as bwaer,
case when v.versn = '000' then
case when ( ( v.set_to_zero = '' ) and ( addcur.ccurr <> 'X') )
then a.rccur else cast( '' as fins_curr4 ) end
else cast( '' as fins_curr1 ) end as cwaer,
case when v.versn = '000' then
case when ( ( v.set_to_zero = '' ) and ( addcur.dcurr <> 'X') )
then a.rdcur else cast( '' as fins_curr5 ) end
else cast( '' as fins_curr1 ) end as dwaer,
case when v.versn = '000' then
case when ( ( v.set_to_zero = '' ) and ( addcur.ecurr <> 'X') )
then a.recur else cast( '' as fins_curr6 ) end
else cast( '' as fins_curr1 ) end as ewaer,
case when v.versn = '000' then
case when ( ( v.set_to_zero = '' ) and ( addcur.fcurr <> 'X') )
then a.rfcur else cast( '' as fins_curr7 ) end
else cast( '' as fins_curr1 ) end as fwaer,
case when v.versn = '000' then
case when ( ( v.set_to_zero = '' ) and ( addcur.gcurr <> 'X') )
then a.rgcur else cast( '' as fins_curr8 ) end
else cast( '' as fins_curr1 ) end as gwaer,
case when v.field_name_buzei = 'CO_BUZEI' then a.co_buzei
when v.field_name_buzei = 'CO_BUZEI1' then a.co_buzei1
when v.field_name_buzei = 'CO_BUZEI2' then a.co_buzei2
when v.field_name_buzei = 'CO_BUZEI5' then a.co_buzei5
when v.field_name_buzei = 'CO_BUZEI6' then a.co_buzei6
when v.field_name_buzei = 'CO_BUZEI7' then a.co_buzei7
else a.co_buzei end as co_buzei,
a.rfarea as fkber,
a.segment,
a.rfund as geber,
a.rgrant_nbr as grant_nbr,
a.rbudget_pd as budget_pd,
a.sfarea as pfkber,
a.psegment,
a.sfund as pgeber,
a.sgrant_nbr as pgrant_nbr,
a.sbudget_pd as pbudget_pd,
--new grouping fields
a.vornr,
a.arbid,
a.aufnr_org,
a.vornr_org
}
where
(
(
a.co_buzei <> '000'
and not a.accasty = ''
)
or(
a.mig_source = 'C'
and a.bstat = 'C'
)
)
and a.objnr <> ''
and a.accasty <> ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"FCO_CMP_VERSND_ADD_CURR",
"ACDOCA",
"FINSC_CMP_VERSND",
"T000",
"TJ01",
"TKA01"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA