P_RTPCOrderSettCostForRevLd

DDL: P_RTPCORDERSETTCOSTFORREVLD SQL: PFIRTPCORDSCFRLD Type: view BASIC

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

Data Sources (3)

SourceAliasJoin Type
acdoca a from
t000 s inner
tka01 t inner

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PFIRTPCORDSCFRLD 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 (31)

KeyFieldSource TableSource FieldDescription
lednr acdoca rldnr
aufnr aufnr
objnr acdoca 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
prec_awmult _prec_ref prec_awmult
megbtr vmsl
mefbtr vmfsl
@AbapCatalog.sqlViewName: 'PFIRTPCORDSCFRLD'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
//@EndUserText.label      : 'RTPC Order Settled Cost For Reversal with Parallel Ledgers'

@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@VDM.viewType: #BASIC
@VDM.private:true
define view P_RTPCOrderSettCostForRevLd
  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
    left outer to one join fins_acdoc_ref   as _prec_ref on  a.awtyp          =  _prec_ref.prec_awtyp
                                                         and a.aworg          =  _prec_ref.prec_aworg
                                                         and a.awref          =  _prec_ref.prec_awref
                                                         and a.awitem         =  _prec_ref.prec_awitem
                                                         and a.subta          =  _prec_ref.prec_subta
                                                         and (
                                                            _prec_ref.objnr   =  ''
                                                            or(
                                                              _prec_ref.objnr <> ''
                                                              and a.objnr     =  _prec_ref.objnr
                                                            )
                                                          )

{

  a.rldnr                                          as lednr,
  aufnr,
  a.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,
  uspob,
  rassc                                            as vbund,
  sbusa                                            as pargb,
  co_beknz                                         as beknz,
  rwcur                                            as twaer,
  rvunit                                           as meinh,
  bemot,
  beltp,

  bttype,

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

  _prec_ref.prec_awmult                            as prec_awmult,

  //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 =  'X'
  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  a.objnr  <> ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"ACDOCA",
"FINSC_CMP_VERSND",
"FINS_ACDOC_REF",
"T000",
"TKA01"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/