FINS_REV_REC_DATA_VIEW3_BASE

DDL: FINS_REV_REC_DATA_VIEW3_BASE SQL: FINS_RR_DATA3B Type: view

Data of trans. based revenue recog. for cumulative process.

FINS_REV_REC_DATA_VIEW3_BASE is a CDS View that provides data about "Data of trans. based revenue recog. for cumulative process." in SAP S/4HANA. It reads from 3 data sources (finsc_ld_cmp, finsc_ld_cmp, finsc_ld_cmp).

Data Sources (3)

SourceAliasJoin Type
finsc_ld_cmp v inner
finsc_ld_cmp v inner
finsc_ld_cmp v inner

Parameters (5)

NameTypeDefault
p_gjahr gjahr
p_poper poper
p_fiscyearper jahrper
p_fiscyearper1 jahrper
p_fiscyearper2 jahrper

Annotations (8)

NameValueLevelField
AbapCatalog.sqlViewName FINS_RR_DATA3B view
ClientDependent true view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Data of trans. based revenue recog. for cumulative process. view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
@AbapCatalog.sqlViewName: 'FINS_RR_DATA3B'
@ClientDependent: true
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Data of trans. based revenue recog.  for cumulative process.'

@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED

//Has the parameters p_gjahr, p_poper, p_fiscyearper, p_fiscyearper1 and p_fiscyearper2 

//Similar result as Fins_Rev_Rec_Data_View, but without posting date, fiscal year, fiscal period

//The fiscal year period (Fiscyearper) returns three time slices:

//- p_fiscyearper as fiscyearper for gjahr = p_gjahr and poper = p_poper

//- p_fiscyearper1 as fiscyearper for gjahr = p_gjahr and poper < p_poper

//- p_fiscyearper2 as fiscyearper for gjahr < p_gjahr

//Selects from ACDOCA with condition acdoca-fiscyearper <= p_fiscyearper


define view FINS_REV_REC_DATA_VIEW3_BASE
  with parameters
    p_gjahr        :gjahr,
    p_poper        :poper,
    p_fiscyearper  :jahrper,
    p_fiscyearper1 :jahrper,
    p_fiscyearper2 :jahrper
  as 
  
  select
    a.rldnr     as rldnr,
    objnr,
    ps_posid,
    ps_psp_pnr,
    ps_pspid,
    paobjnr,
    aufnr,
    kdauf,
    kdpos,
    service_doc_id,
    service_doc_item_id,    
    service_contract_id,
    service_contract_item_id,
    vtkey,
    vtpos,
    //gjahr, poper,// 

    :p_fiscyearper as fiscyearper,
    //budat,//

    racct       as hkont,
    gkont,
    slalittype,
    cast( case awtyp when 'TBRR' then ' ' else 'X' end as fins_trr_real_time ) as rtind,
    rbukrs      as bukrs,
    werks,
    rbusa       as gsber,
    prctr,
    //segment, rfarea as fkber, scope,

    //pbukrs, rassc as vbund, sbusa as pargb, pprctr, psegment,  sfarea as pfkber,

    //matnr, hkgrp, lifnr, kunnr,

    pernr,
    rsrce,
    uprctr,
    accasty,
    rwcur,
    rhcur,
    rkcur,
    rocur,
    rvcur,
    rbcur,
    rccur,
    rdcur,
    recur,
    rfcur,
    rgcur,
    rco_ocur,
    runit,
    max(budat)  as max_budat,
    sum(wsl)    as wsl,
    sum(hsl)    as hsl,
    sum(ksl)    as ksl,
    sum(kfsl)   as kfsl,
    sum(osl)    as osl,
    sum(vsl)    as vsl,
    sum(bsl)    as bsl,
    sum(csl)    as csl,
    sum(dsl)    as dsl,
    sum(esl)    as esl,
    sum(fsl)    as fsl,
    sum(gsl)    as gsl,
    sum(co_osl) as co_osl,
    sum(msl)    as msl
  from         acdoca       as a
    inner join finsc_ld_cmp as v on  a.rbukrs = v.bukrs
                                 and a.rldnr  = v.rldnr --- Ledger space is obsolete     or a.rldnr = '' )
  //                             and ( v.versn  = '000'    or v.versn <> '' )   --- select only the ledger which is assigned to version 000;

  where
          vorgn         =  'TBRR'
    and   a.gjahr = :p_gjahr
    and   a.poper = :p_poper
    and   not(
        a.bstat         =  'C'
        and a.poper     =  '000'
      )
  //   and ( a.mig_source = 'C' or ( a.mig_source = ' ' and not ( a.bstat = 'C' and a.poper = '000' ) ) )

  group by
    a.rldnr,
    objnr,
    ps_posid,
    ps_psp_pnr,
    ps_pspid,
    paobjnr,
    aufnr,
    kdauf,
    kdpos,
    service_doc_id,
    service_doc_item_id,    
    service_contract_id,
    service_contract_item_id,
    vtkey,
    vtpos,
    //         gjahr, poper,//

    // fiscyearper, //

    //         budat,//

    racct,
    gkont,
    slalittype,
    awtyp,
    rbukrs,
    werks,
    rbusa,
    prctr,
    //         segment, rfarea, scope,

    //         pbukrs, rassc, sbusa, pprctr, psegment,  sfarea,

    //         matnr, hkgrp, lifnr, kunnr,

    pernr,
    rsrce,
    uprctr,
    accasty,
    rwcur,
    rhcur,
    rkcur,
    rocur,
    rvcur,
    rbcur,
    rccur,
    rdcur,
    recur,
    rfcur,
    rgcur,
    rco_ocur,
    runit 
  
  union all select
    a.rldnr     as rldnr,
    objnr,
    ps_posid,
    ps_psp_pnr,
    ps_pspid,
    paobjnr,
    aufnr,
    kdauf,
    kdpos,
    service_doc_id,
    service_doc_item_id,    
    service_contract_id,
    service_contract_item_id,
    vtkey,
    vtpos,
    //gjahr, poper,// 

    :p_fiscyearper2 as fiscyearper,
    //budat,//

    racct       as hkont,
    gkont,
    slalittype,
    cast( case awtyp when 'TBRR' then 'X' else ' ' end as fins_trr_real_time ) as rtind,
    rbukrs      as bukrs,
    werks,
    rbusa       as gsber,
    prctr,
    //segment, rfarea as fkber, scope,

    //pbukrs, rassc as vbund, sbusa as pargb, pprctr, psegment,  sfarea as pfkber,

    //matnr, hkgrp, lifnr, kunnr,

    pernr,
    rsrce,
    uprctr,
    accasty,
    rwcur,
    rhcur,
    rkcur,
    rocur,
    rvcur,
    rbcur,
    rccur,
    rdcur,
    recur,
    rfcur,
    rgcur,
    rco_ocur,
    runit,
    max(budat)  as max_budat,
    sum(wsl)    as wsl,
    sum(hsl)    as hsl,
    sum(ksl)    as ksl,
    sum(kfsl)   as kfsl,
    sum(osl)    as osl,
    sum(vsl)    as vsl,
    sum(bsl)    as bsl,
    sum(csl)    as csl,
    sum(dsl)    as dsl,
    sum(esl)    as esl,
    sum(fsl)    as fsl,
    sum(gsl)    as gsl,
    sum(co_osl) as co_osl,
    sum(msl)    as msl
  from         acdoca       as a
    inner join finsc_ld_cmp as v on  a.rbukrs = v.bukrs
                                 and a.rldnr  = v.rldnr --- Ledger space is obsolete     or a.rldnr = '' )
  //                             and ( v.versn  = '000'    or v.versn <> '' )   --- select only the ledger which is assigned to version 000;

  where
          vorgn         =  'TBRR'
    and   a.gjahr < :p_gjahr
    and   not(
        a.bstat         =  'C'
        and a.poper     =  '000'
      )
  //   and ( a.mig_source = 'C' or ( a.mig_source = ' ' and not ( a.bstat = 'C' and a.poper = '000' ) ) )

  group by
    a.rldnr,
    objnr,
    ps_posid,
    ps_psp_pnr,
    ps_pspid,
    paobjnr,
    aufnr,
    kdauf,
    kdpos,
    service_doc_id,
    service_doc_item_id,    
    service_contract_id,
    service_contract_item_id,
    vtkey,
    vtpos,
    //         gjahr, poper, 

    // fiscyearper, //

    //         budat,//

    racct,
    gkont,
    slalittype,
    awtyp,
    rbukrs,
    werks,
    rbusa,
    prctr,
    //         segment, rfarea, scope,

    //         pbukrs, rassc, sbusa, pprctr, psegment,  sfarea,

    //         matnr, hkgrp, lifnr, kunnr,

    pernr,
    rsrce,
    uprctr,
    accasty,
    rwcur,
    rhcur,
    rkcur,
    rocur,
    rvcur,
    rbcur,
    rccur,
    rdcur,
    recur,
    rfcur,
    rgcur,
    rco_ocur,
    runit
    
  union all select
    a.rldnr     as rldnr,
    objnr,
    ps_posid,
    ps_psp_pnr,
    ps_pspid,
    paobjnr,
    aufnr,
    kdauf,
    kdpos,
    service_doc_id,
    service_doc_item_id,    
    service_contract_id,
    service_contract_item_id,
    vtkey,
    vtpos,
    //gjahr, poper,// 

    :p_fiscyearper1 as fiscyearper,
    //budat,//

    racct       as hkont,
    gkont,
    slalittype,
    cast( case awtyp when 'TBRR' then 'X' else ' ' end as fins_trr_real_time ) as rtind,
    rbukrs      as bukrs,
    werks,
    rbusa       as gsber,
    prctr,
    //segment, rfarea as fkber, scope,

    //pbukrs, rassc as vbund, sbusa as pargb, pprctr, psegment,  sfarea as pfkber,

    //matnr, hkgrp, lifnr, kunnr,

    pernr,
    rsrce,
    uprctr,
    accasty,
    rwcur,
    rhcur,
    rkcur,
    rocur,
    rvcur,
    rbcur,
    rccur,
    rdcur,
    recur,
    rfcur,
    rgcur,
    rco_ocur,
    runit,
    max(budat)  as max_budat,
    sum(wsl)    as wsl,
    sum(hsl)    as hsl,
    sum(ksl)    as ksl,
    sum(kfsl)   as kfsl,
    sum(osl)    as osl,
    sum(vsl)    as vsl,
    sum(bsl)    as bsl,
    sum(csl)    as csl,
    sum(dsl)    as dsl,
    sum(esl)    as esl,
    sum(fsl)    as fsl,
    sum(gsl)    as gsl,
    sum(co_osl) as co_osl,
    sum(msl)    as msl
  from         acdoca       as a
    inner join finsc_ld_cmp as v on  a.rbukrs = v.bukrs
                                 and a.rldnr  = v.rldnr --- Ledger space is obsolete     or a.rldnr = '' )
  //                             and ( v.versn  = '000'    or v.versn <> '' )   --- select only the ledger which is assigned to version 000;

  where
          vorgn         =  'TBRR'
    and   a.gjahr = :p_gjahr
    and   a.poper < :p_poper
    and   not(
        a.bstat         =  'C'
        and a.poper     =  '000'
      )
  //   and ( a.mig_source = 'C' or ( a.mig_source = ' ' and not ( a.bstat = 'C' and a.poper = '000' ) ) )

  group by
    a.rldnr,
    objnr,
    ps_posid,
    ps_psp_pnr,
    ps_pspid,
    paobjnr,
    aufnr,
    kdauf,
    kdpos,
    service_doc_id,
    service_doc_item_id,    
    service_contract_id,
    service_contract_item_id,
    vtkey,
    vtpos,
    //         gjahr, poper, 

    // fiscyearper, //

    //         budat,//

    racct,
    gkont,
    slalittype,
    awtyp,
    rbukrs,
    werks,
    rbusa,
    prctr,
    //         segment, rfarea, scope,

    //         pbukrs, rassc, sbusa, pprctr, psegment,  sfarea,

    //         matnr, hkgrp, lifnr, kunnr,

    pernr,
    rsrce,
    uprctr,
    accasty,
    rwcur,
    rhcur,
    rkcur,
    rocur,
    rvcur,
    rbcur,
    rccur,
    rdcur,
    recur,
    rfcur,
    rgcur,
    rco_ocur,
    runit; 
  
 /*+[internal] {
"BASEINFO":
{
"FROM":
[
"ACDOCA",
"FINSC_LD_CMP"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/