P_RTPCOrderActlCostForSttlLd

DDL: P_RTPCORDERACTLCOSTFORSTTLLD SQL: PFIRTPCORDACFSLD Type: view BASIC

P_RTPCOrderActlCostForSttlLd is a Basic CDS View in SAP S/4HANA. It reads from 3 data sources (acdoca, t000, tka01) and exposes 30 fields.

Data Sources (3)

SourceAliasJoin Type
acdoca a from
t000 s inner
tka01 t inner

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PFIRTPCORDACFSLD view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #BASIC view
VDM.private true view

Fields (30)

KeyFieldSource TableSource FieldDescription
lednr acdoca rldnr
aufnr aufnr
objnr objnr
gjahr ryear
rbukrs rbukrs
fiscyearper fiscyearper
belnr belnr
docln docln
versn v versn
wrttp
kstar racct
hrkft hrkft
vrgng vrgng
uspob uspob
vbund rassc
pargb sbusa
beknz co_beknz
twaer rwcur
meinh rvunit
bemot bemot
beltp beltp
bttype bttype
awtyp awtyp
awref awref
awitem awitem
aworg aworg
awsys awsys
subta subta
megbtr vmsl
mefbtr vmfsl
@AbapCatalog.sqlViewName: 'PFIRTPCORDACFSLD'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
//@EndUserText.label      : 'RTPC Order Actual Cost For Settlement with Parallel Ledgers'

@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@VDM.viewType: #BASIC
@VDM.private:true
define view P_RTPCOrderActlCostForSttlLd
  as select from           acdoca           as a
    left outer to one join finsc_cmp_versnd as v on  a.rbukrs                =  v.bukrs
                                                 and a.rldnr                 =  v.rldnr
                                                 and v.field_name_wkgbtr_add <> ''
    inner join             t000             as s on s.mandt     = a.rclnt
                                                 and(
                                                   s.logsys     = a.logsyso
                                                   or a.logsyso = ''
                                                 )
    inner join             tka01            as t on  t.mandt = a.rclnt
                                                 and t.kokrs = a.kokrs
{

  a.rldnr                                          as lednr,
  aufnr,
  objnr,
  ryear                                            as gjahr,
  rbukrs,
  fiscyearper,
  belnr,
  docln,
  v.versn                                          as versn,
  '04'                                             as wrttp,
  racct                                            as kstar,
  hrkft,
  vrgng,
  case when parobsrc = '1' then parob1     else case
       when parobsrc = '2' then paccasty
       else ''                             end end as parob, // COSS only

  uspob,                                                     // COSS only

  rassc                                            as vbund, // COSP only

  sbusa                                            as pargb, // COSP only

  co_beknz                                         as beknz,
  rwcur                                            as twaer,
  rvunit                                           as meinh,
  bemot,
  beltp,

  bttype,

  awtyp,
  awref,
  awitem,
  aworg,
  awsys,
  subta,

  //wsl                                              as wtgbtr,

  case when v.field_name_wtgbtr_add is null or
             v.field_name_wtgbtr_add = 'WSL'  then wsl
       when v.field_name_wtgbtr_add = 'WSL2' then wsl2
       when v.field_name_wtgbtr_add = 'WSL3' then wsl3
       else 0 end                                  as wtgbtr,

  //hsl                                              as wogbtr,

  case when v.field_name_wogbtr_add is null    then 0
        when t.xwbuk = '' and
           ( ( ( mig_source =  'C' and bstat =  'C' ) and co_osl <> 0 ) or
             ( ( mig_source <> 'C' or  bstat <> 'C' ) and rco_ocur <> '' ) ) then co_osl
        when v.field_name_wogbtr_add = 'HSL'    then hsl
        when v.field_name_wogbtr_add = 'OSL'    then osl
        when v.field_name_wogbtr_add = 'KSL'    then ksl
        when v.field_name_wogbtr_add = 'VSL'    then vsl
        when v.field_name_wogbtr_add = 'BSL'    then bsl
        when v.field_name_wogbtr_add = 'CSL'    then csl
        when v.field_name_wogbtr_add = 'DSL'    then dsl
        when v.field_name_wogbtr_add = 'ESL'    then esl
        when v.field_name_wogbtr_add = 'FSL'    then fsl
        when v.field_name_wogbtr_add = 'GSL'    then gsl
        else 0 end                                 as wogbtr,

  //ksl                                              as wkgbtr,

  case when v.field_name_wkgbtr_add is null or
             v.field_name_wkgbtr_add = 'KSL' then ksl
        when v.field_name_wkgbtr_add = 'HSL' then hsl
        when v.field_name_wkgbtr_add = 'OSL' then osl
        when v.field_name_wkgbtr_add = 'VSL' then vsl
        when v.field_name_wkgbtr_add = 'BSL' then bsl
        when v.field_name_wkgbtr_add = 'CSL' then csl
        when v.field_name_wkgbtr_add = 'DSL' then dsl
        when v.field_name_wkgbtr_add = 'ESL' then esl
        when v.field_name_wkgbtr_add = 'FSL' then fsl
        when v.field_name_wkgbtr_add = 'GSL' then gsl
        else 0 end                                 as wkgbtr,
  //kfsl                                             as wkfbtr,

  case when v.field_name_wkfbtr_add is null or
             v.field_name_wkfbtr_add = 'KFSL'  then kfsl
        when v.field_name_wkfbtr_add = 'KFSL2' then kfsl2
        when v.field_name_wkfbtr_add = 'KFSL3' then kfsl3
        else 0 end                                 as wkfbtr,

  //psl                                              as pagbtr,

  case when v.field_name_pagbtr_add is null or
             v.field_name_pagbtr_add = 'PSL'  then psl
        when v.field_name_pagbtr_add = 'PSL2' then psl2
        when v.field_name_pagbtr_add = 'PSL3' then psl3
        else 0 end                                 as pagbtr,

  //pfsl                                             as pafbtr,

  case when v.field_name_pafbtr_add is null or
             v.field_name_pafbtr_add = 'PFSL'  then pfsl
        when v.field_name_pafbtr_add = 'PFSL2' then pfsl2
        when v.field_name_pafbtr_add = 'PFSL3' then pfsl3
        else 0 end                                 as pafbtr,

  vmsl                                             as megbtr,

  vmfsl                                            as mefbtr,

  //osl                                              as wagbtr,

  case when ( v.field_name_wkgbtr_subtract = '' or v.field_name_wkgbtr_subtract is null )
             then osl else 0 end                   as wagbtr,

  //vsl                                              as wvgbtr,

  case when ( v.field_name_wkgbtr_subtract = '' or v.field_name_wkgbtr_subtract is null )
             then vsl else 0 end                   as wvgbtr,

  //bsl                                              as wbgbtr,

  case when ( v.field_name_wkgbtr_subtract = '' or v.field_name_wkgbtr_subtract is null )
            then bsl else 0 end                    as wbgbtr,

  //csl                                              as wcgbtr,

  case when ( v.field_name_wkgbtr_subtract = '' or v.field_name_wkgbtr_subtract is null )
            then csl else 0 end                    as wcgbtr,

  //dsl                                              as wdgbtr,

  case when ( v.field_name_wkgbtr_subtract = '' or v.field_name_wkgbtr_subtract is null )
            then dsl else 0 end                    as wdgbtr,

  //esl                                              as wegbtr,

  case when ( v.field_name_wkgbtr_subtract = '' or v.field_name_wkgbtr_subtract is null )
      then esl else 0 end                          as wegbtr,

  //fsl                                              as wfgbtr,

  case when ( v.field_name_wkgbtr_subtract = '' or v.field_name_wkgbtr_subtract is null )
        then fsl else 0 end                        as wfgbtr,

  //gsl                                              as wggbtr,

  case when ( v.field_name_wkgbtr_subtract = '' or v.field_name_wkgbtr_subtract is null )
        then gsl else 0 end                        as wggbtr,

  //hsl                                              as whgbtr,

  case when ( v.field_name_wkgbtr_subtract = '' or v.field_name_wkgbtr_subtract is null )
        then hsl else 0 end                        as whgbtr,

  //co_osl                                           as wsgbtr

  case when ( v.field_name_wkgbtr_subtract = '' or v.field_name_wkgbtr_subtract is null )
        then co_osl else 0 end                     as wsgbtr

}

where
  (
       accasty  =  'OR'
    or accasty  =  'OP'
  )
  and(
       autyp    =  '10'
    or autyp    =  '40'
  )
  and  xsettled =  ''
  and  bttype   <> 'TBCS' --ignore Transaction-Based Split
  and  bttype   <> 'EBWP' --ignore Event-Based WIP posting
  and  co_beknz <> 'A'    //exclude settlement line items

  //and  aufnr    <> paufnr //exclude pre-settlement

  //and  co_belnr <> ''

  and  objnr    <> ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"ACDOCA",
"FINSC_CMP_VERSND",
"T000",
"TKA01"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/