fins_prctr_of_object_acdoca

DDL: FINS_PRCTR_OF_OBJECT_ACDOCA SQL: FINSPRCTR Type: view

Derive PRCTR & PPRCTR for ACDOCA object

fins_prctr_of_object_acdoca is a CDS View that provides data about "Derive PRCTR & PPRCTR for ACDOCA object" in SAP S/4HANA. It reads from 28 data sources.

Data Sources (28)

SourceAliasJoin Type
afvc af left_outer
afko afk left_outer
aufk afu left_outer
onrao ao left_outer
aufk aun left_outer
aufk auo left_outer
cbpr cb left_outer
csks ks left_outer
prps p left_outer
cbpr pacb left_outer
afvc paf left_outer
afko pafk left_outer
aufk pafu left_outer
onrao pao left_outer
aufk paun left_outer
aufk pauo left_outer
csks pks left_outer
prps pp left_outer
proj ppro left_outer
proj pro left_outer
tvko ptv left_outer
vicn01 pvi left_outer
vbak pvk left_outer
vbap pvp left_outer
tvko tv left_outer
vicn01 vi left_outer
vbak vk left_outer
vbap vp left_outer

Annotations (8)

NameValueLevelField
AbapCatalog.sqlViewName FINSPRCTR view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #MIXED view
EndUserText.label Derive PRCTR & PPRCTR for ACDOCA object view
@AbapCatalog.sqlViewName: 'FINSPRCTR'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.sizeCategory: #S
@ObjectModel.usageType.dataClass: #MIXED
@EndUserText.label: 'Derive PRCTR & PPRCTR for ACDOCA object'
define view fins_prctr_of_object_acdoca as
       select
       c.rldnr,
       c.rbukrs,
       c.gjahr,
       c.belnr,
       c.docln,
       c.accasty,
       c.objnr,
       c.parob1,
       c.paccasty,
       c.co_belnr,
       c.prctr,
       case when c.accasty = 'NV' or c.accasty = 'OV' then af.prctr
            when c.accasty = 'PR'         then p.prctr
            when c.accasty = 'KS' or c.accasty = 'KL' then ks.prctr
            when c.accasty = 'VB'         then vp.prctr
            when c.accasty = 'AO'         then ao.prctr
            when c.accasty = 'IS'         then vi.recnprctr
            when c.accasty = 'OR' or c.accasty = 'OP' then auo.prctr
            when c.accasty = 'NP'         then aun.prctr
            when c.accasty = 'BP'         then cb.prctr
            else '' end
         as prctr_new,
         c.pprctr,
       case when c.paccasty = 'NV' or c.paccasty = 'OV' then paf.prctr
            when c.paccasty = 'PR'         then pp.prctr
            when c.paccasty = 'KS' or c.paccasty = 'KL' then pks.prctr
            when c.paccasty = 'VB'         then pvp.prctr
            when c.paccasty = 'AO'         then pao.prctr
            when c.paccasty = 'IS'         then pvi.recnprctr
            when c.paccasty = 'OR' or c.paccasty = 'OP' then pauo.prctr
            when c.paccasty = 'NP'         then paun.prctr
            when c.paccasty = 'BP'         then pacb.prctr
            else '' end
         as pprct_new
      from acdoca as c
--- Object number master data to derive profit center
      left outer join afvc as af  on  af.mandt = c.rclnt --    for NV and OV
                                   and af.objnr = c.objnr
                                   and af.objnr <> ''
      left outer join afko as afk on  afk.mandt = c.rclnt
                                   and afk.aufpl = af.aufpl
      left outer join aufk as afu on  afu.mandt = c.rclnt
                                   and afu.aufnr = afk.aufnr
      left outer join aufk as auo on  auo.mandt = c.rclnt
                                   and auo.objnr = c.objnr
                                   and accasty = 'OR'
                                   and auo.objnr <> ''
      left outer join aufk as aun on  aun.mandt = c.rclnt
                                   and aun.objnr = c.objnr
                                   and accasty = 'NP'
                                   and aun.objnr <> ''
      left outer join prps as p   on  p.mandt   = c.rclnt
                                   and p.objnr   = c.objnr
                                   and p.objnr <> ''
      left outer join proj as pro on  pro.mandt = c.rclnt
                                   and pro.pspnr = p.psphi
      left outer join csks as ks  on  ks.mandt  = c.rclnt
                                   and ks.kokrs  = c.kokrs
                                   and ks.kostl  = substring( c.objnr, 7, 10 )
                                   and ( c.accasty = 'KL' or c.accasty = 'KS' )
                                   and ks.datab <= c.budat -- <=
                                   and ks.datbi >= c.budat -- >=
                                   and ks.kostl <> ''
      left outer join vbak as vk  on  vk.mandt = c.rclnt
                                   and vk.vbeln = substring( c.objnr,  3, 10 )
                                   and accasty = 'VP'
                                   and vk.vbeln <> ''
      left outer join vbap as vp  on  vp.mandt = c.rclnt
                                   and vp.vbeln = vk.vbeln
                                   and accasty = 'VP'
                                   and vp.posnr = substring( c.objnr, 13,  6 )
      left outer join tvko as tv  on  tv.mandt = c.rclnt
                                   and tv.vkorg = vk.vkorg
      left outer join onrao as ao on  ao.mandt = c.rclnt
                                   and ao.objnr = c.objnr
                                   and ao.objnr <> ''
      left outer join vicn01 as vi on  vi.mandt     = c.rclnt
                                    and vi.recnobjnr = c.objnr
                                    and vi.recnobjnr <> ''
      left outer join cbpr as cb on cb.mandt = c.rclnt
                                    and cb.kokrs = c.kokrs
                                    and cb.datab <= c.budat
                                    and cb.datbi >= c.budat
                                    and cb.objnr   = c.objnr
                                    and accasty = 'BP'
                                    and cb.prznr = substring( c.objnr, 7, 12 )
 --- Partner object number master data
      left outer join afvc as paf  on  paf.mandt = c.rclnt --    for NV and OV
                                   and paf.objnr = c.parob1
                                   and paf.objnr <> ''
      left outer join afko as pafk on  pafk.mandt = c.rclnt
                                   and pafk.aufpl = paf.aufpl
      left outer join aufk as pafu on  pafu.mandt = c.rclnt
                                   and pafu.aufnr = pafk.aufnr
      left outer join aufk as pauo on  pauo.mandt = c.rclnt
                                   and pauo.objnr = c.parob1
                                   and paccasty = 'OR'
                                   and pauo.objnr <> ''
      left outer join aufk as paun on  paun.mandt = c.rclnt
                                   and paun.objnr = c.parob1
                                   and paccasty = 'NP'
                                   and paun.objnr <> ''
      left outer join prps as pp   on  pp.mandt   = c.rclnt
                                   and pp.objnr   = c.parob1
                                   and pp.objnr <> ''
      left outer join proj as ppro on  ppro.mandt = c.rclnt
                                   and ppro.pspnr = pp.psphi
      left outer join csks as pks  on  pks.mandt  = c.rclnt
                                   and pks.kokrs  = c.kokrs
                                   and pks.kostl  = substring( c.parob1, 7, 10 )
                                   and ( c.paccasty = 'KL' or c.paccasty = 'KS' )
                                   and pks.datab <= c.budat -- <=
                                   and pks.datbi >= c.budat -- >=
                                   and pks.kostl <> ''
      left outer join vbak as pvk  on  pvk.mandt = c.rclnt
                                   and pvk.vbeln = substring( c.parob1,  3, 10 )
                                   and paccasty = 'VP'
                                   and pvk.vbeln <> ''
      left outer join vbap as pvp  on  pvp.mandt = c.rclnt
                                   and pvp.vbeln = pvk.vbeln
                                   and paccasty = 'VP'
                                   and pvp.posnr = substring( parob1, 13,  6 )
      left outer join tvko as ptv  on  ptv.mandt = c.rclnt
                                   and ptv.vkorg = pvk.vkorg
      left outer join onrao as pao on  pao.mandt = c.rclnt
                                   and pao.objnr = c.parob1
                                   and pao.objnr <> ''
      left outer join vicn01 as pvi on  pvi.mandt     = c.rclnt
                                    and pvi.recnobjnr = c.parob1
                                    and pvi.recnobjnr <> ''
      left outer join cbpr as pacb on pacb.kokrs = c.kokrs
                                    and pacb.datab <= c.budat
                                    and pacb.datbi >= c.budat
                                    and pacb.objnr   = c.parob1
                                    and paccasty = 'BP'
                                    and pacb.prznr = substring( c.parob1, 7, 12 )
     ;
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"ACDOCA",
"AFKO",
"AFVC",
"AUFK",
"CBPR",
"CSKS",
"ONRAO",
"PROJ",
"PRPS",
"TVKO",
"VBAK",
"VBAP",
"VICN01"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/