FINS_REV_REC_COSACT_VIEW2_BAS

DDL: FINS_REV_REC_COSACT_VIEW2_BAS SQL: FINS_RR_COSACT2B Type: view

Actuals for data with CO objects

FINS_REV_REC_COSACT_VIEW2_BAS is a CDS View that provides data about "Actuals for data with CO objects" in SAP S/4HANA. It reads from 2 data sources (t000, finsc_ld_cmp).

Data Sources (2)

SourceAliasJoin Type
t000 b inner
finsc_ld_cmp v inner

Parameters (1)

NameTypeDefault
p_fiscyearper jahrper

Annotations (8)

NameValueLevelField
AbapCatalog.sqlViewName FINS_RR_COSACT2B view
ClientDependent true view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Actuals for data with CO objects view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
@AbapCatalog.sqlViewName: 'FINS_RR_COSACT2B'
@ClientDependent: true
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Actuals for data with CO objects'

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

//Has the parameter p_fiscyearper

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

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


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

    // cast( case when a.fiscyearper <= :p_fiscyearper then '0000001' else '9999012' end as jahrper ) as fiscyearper, //

    //budat, //

    racct       as hkont,
    gkont,
    slalittype,
    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,
    bttype,
    cast( case a.bttype when 'RFCV' then a.bttype else ( case a.vrgng when '' then a.vorgn when 'COIE' then a.vorgn when 'COIN' then a.vorgn else a.vrgng end ) end as fins_trr_bttype ) as bttype_tec,
    beltp,
    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;

    inner join t000         as b on a.rclnt = b.mandt
  //where ( a.co_belnr <> '' and a.co_buzei <> '000' and not ( accasty is null or accasty = '' ) or ( mig_source = 'C' and bstat = 'C' ) )

  where
    (
          a.objnr          <> '' 
      and a.glaccount_type <> 'X'
      and     not(
            accasty         is null
            or    accasty   =  ''
          )
      or(
              mig_source    =  'C'
        and   bstat         =  'C'
      )
      or(
              mig_source    =  ' '
        and   bstat         =  'C'
      )
    )
    and(
              a.logsyso     =  ''
      or      a.logsyso     =  b.logsys
    )
    and       vorgn         <> 'TBRR'
    and       a.fiscyearper <= :p_fiscyearper 
    //  and not (a.bstat = 'C' and a.poper = '000')

    and(
              a.mig_source  <> ' '
      or(
              a.mig_source  =  ' '
        and   not(
            a.bstat         =  'C'
            and a.poper     =  '000'
          )
      )
    )
  group by
    a.rldnr,
    objnr,
    ps_posid,
    ps_psp_pnr,
    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,
    rbukrs,
    werks,
    rbusa,
    prctr,
    //         segment, rfarea, scope,

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

    matnr, 
    // hkgrp, lifnr, kunnr,

    pernr,
    rsrce,
    uprctr,
    accasty,
    bttype,
    vorgn,
    vrgng,
    beltp,
    rwcur,
    rhcur,
    rkcur,
    rocur,
    rvcur,
    rbcur,
    rccur,
    rdcur,
    recur,
    rfcur,
    rgcur,
    rco_ocur,
    runit;