P_FmavcAcoDataUser

DDL: P_FMAVCACODATAUSER SQL: PFMAVCACOUSER Type: view BASIC

P_FmavcAcoDataUser is a Basic CDS View in SAP S/4HANA. It reads from 23 data sources and exposes 35 fields with key fields rfikrs, rrcty, rldnr, ryear, ceffyear_9.

Data Sources (23)

SourceAliasJoin Type
P_FMAVCT_Compat AVC from
P_FMAVCT_Compat AVC union_all
fpb_persparm p1 inner
fpb_persparm p1 inner
fpb_persparm p10 inner
fpb_persparm p10 inner
fpb_persparm p11 inner
fpb_persparm p2 inner
fpb_persparm p2 inner
fpb_persparm p3 inner
fpb_persparm p3 inner
fpb_persparm p4 inner
fpb_persparm p4 inner
fpb_persparm p5 inner
fpb_persparm p5 inner
fpb_persparm p6 inner
fpb_persparm p6 inner
fpb_persparm p7 inner
fpb_persparm p7 inner
fpb_persparm p8 inner
fpb_persparm p8 inner
fpb_persparm p9 inner
fpb_persparm p9 inner

Parameters (1)

NameTypeDefault
P_uname syuname

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName PFMAVCACOUSER view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #P view
ObjectModel.usageType.sizeCategory #L view
AbapCatalog.compiler.compareFilter true view
VDM.viewType #BASIC view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.private true view

Fields (35)

KeyFieldSource TableSource FieldDescription
KEY rfikrs P_FMAVCT_Compat rfikrs
KEY rrcty P_FMAVCT_Compat rrcty
KEY rldnr P_FMAVCT_Compat rldnr
KEY ryear P_FMAVCT_Compat ryear
KEY ceffyear_9 P_FMAVCT_Compat ceffyear_9
KEY rcvrgrp_9 P_FMAVCT_Compat rcvrgrp_9
KEY rgrant_nbr P_FMAVCT_Compat rgrant_nbr
KEY rfund P_FMAVCT_Compat rfund
KEY budget_pd_9 P_FMAVCT_Compat budget_pd_9
KEY rfundsctr P_FMAVCT_Compat rfundsctr
KEY rcmmtitem P_FMAVCT_Compat rcmmtitem
KEY rfuncarea P_FMAVCT_Compat rfuncarea
KEY rmeasure P_FMAVCT_Compat rmeasure
KEY ruserdim P_FMAVCT_Compat ruserdim
KEY alloctype_9 P_FMAVCT_Compat alloctype_9
KEY rtcur P_FMAVCT_Compat rtcur
curr242endasAmount1
rfikrs
KEY rrcty P_FMAVCT_Compat rrcty
KEY rldnr P_FMAVCT_Compat rldnr
KEY ryear P_FMAVCT_Compat ryear
KEY ceffyear_9 P_FMAVCT_Compat ceffyear_9
KEY rcvrgrp_9 P_FMAVCT_Compat rcvrgrp_9
KEY rgrant_nbr P_FMAVCT_Compat rgrant_nbr
KEY rfund P_FMAVCT_Compat rfund
KEY budget_pd_9 P_FMAVCT_Compat budget_pd_9
KEY rfundsctr P_FMAVCT_Compat rfundsctr
KEY rcmmtitem P_FMAVCT_Compat rcmmtitem
KEY rfuncarea P_FMAVCT_Compat rfuncarea
KEY rmeasure P_FMAVCT_Compat rmeasure
KEY ruserdim P_FMAVCT_Compat ruserdim
KEY alloctype_9 P_FMAVCT_Compat alloctype_9
KEY rtcur P_FMAVCT_Compat rtcur
curr242endasAmount1
curr242endasAmount0
@AbapCatalog.sqlViewName: 'PFMAVCACOUSER'
//@ClientDependent: true

@ClientHandling.algorithm: #SESSION_VARIABLE //Inserted by VDM CDS Suite Plugin

@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality:  #P
@ObjectModel.usageType.sizeCategory: #L //Inserted by VDM CDS Suite Plugin

@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.private:true
//@EndUserText.label: 'Personalized annual AVC data'

define view P_FmavcAcoDataUser
  with parameters
    @Environment.systemField : #USER
    P_uname : syuname

  as select from            P_FMAVCT_Compat as AVC

    inner join              fpb_persparm    as p1  on  p1.perskeytp       = 'U'
                                                   and p1.perskey         = :P_uname
                                                   and p1.applid          = 'FM-AVC_ANNUAL'
                                                   and p1.fieldname       = 'FIKRS'
                                                   and p1.pers_subcontext = ''
                                                   and p1.noauth          = ' '
                                                   and p1.sel_sign        = 'I'
                                                   and p1.fieldtype       = 'V'
                                                   and p1.sel_option      = 'EQ'
                                                   and p1.low             = AVC.rfikrs

    inner join              fpb_persparm    as p2  on  p2.perskeytp       = 'U'
                                                   and p2.perskey         = :P_uname
                                                   and p2.applid          = 'FM-AVC_ANNUAL'
                                                   and p2.fieldname       = 'ALDNR'
                                                   and p2.pers_subcontext = ''
                                                   and p2.noauth          = ' '
                                                   and p2.sel_sign        = 'I'
                                                   and p2.fieldtype       = 'V'
                                                   and p2.sel_option      = 'EQ'
                                                   and p2.low             = AVC.rldnr

  // fiscal year is mandatory (annual values!):

    inner join              fpb_persparm    as p3  on  p3.perskeytp       = 'U'
                                                   and p3.perskey         = :P_uname
                                                   and p3.applid          = 'FM-AVC_ANNUAL'
                                                   and p3.fieldname       = 'GJAHR'
                                                   and p3.pers_subcontext = ''
                                                   and p3.noauth          = ' '
                                                   and p3.sel_sign        = 'I'
                                                   and p3.fieldtype       = 'V'
                                                   and p3.sel_option      = 'EQ'
                                                   and p3.low             = AVC.ryear

  // optional account assignment elements:

  // -> Use INNER JOINs for better performance

  // -> Intervals and groups are resolved into single values

  // -> Support of pseudo-value '*' for taking all values

    inner join              fpb_persparm    as p4  on  p4.perskeytp       = 'U'
                                                   and p4.perskey         = :P_uname
                                                   and p4.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                                   and p4.fieldname       = 'GRANT'
                                                   and p4.pers_subcontext = ''
                                                   and p4.noauth          = ' '
                                                   and p4.sel_sign        = 'I'
                                                   and p4.fieldtype       = 'V'
                                                   and p4.sel_option      = 'EQ'

    inner join              fpb_persparm    as p5  on  p5.perskeytp       = 'U'
                                                   and p5.perskey         = :P_uname
                                                   and p5.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                                   and p5.fieldname       = 'FUND'
                                                   and p5.pers_subcontext = ''
                                                   and p5.noauth          = ' '
                                                   and p5.sel_sign        = 'I'
                                                   and p5.fieldtype       = 'V'
                                                   and p5.sel_option      = 'EQ'

    inner join              fpb_persparm    as p6  on  p6.perskeytp       = 'U'
                                                   and p6.perskey         = :P_uname
                                                   and p6.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                                   and p6.fieldname       = 'BUDGET_PD'
                                                   and p6.pers_subcontext = ''
                                                   and p6.noauth          = ' '
                                                   and p6.sel_sign        = 'I'
                                                   and p6.fieldtype       = 'V'
                                                   and p6.sel_option      = 'EQ'

    inner join              fpb_persparm    as p7  on  p7.perskeytp       = 'U'
                                                   and p7.perskey         = :P_uname
                                                   and p7.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                                   and p7.fieldname       = 'FISTL'
                                                   and p7.pers_subcontext = ''
                                                   and p7.noauth          = ' '
                                                   and p7.sel_sign        = 'I'
                                                   and p7.fieldtype       = 'V'
                                                   and p7.sel_option      = 'EQ'

    inner join              fpb_persparm    as p8  on  p8.perskeytp       = 'U'
                                                   and p8.perskey         = :P_uname
                                                   and p8.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                                   and p8.fieldname       = 'FIPEX'
                                                   and p8.pers_subcontext = ''
                                                   and p8.noauth          = ' '
                                                   and p8.sel_sign        = 'I'
                                                   and p8.fieldtype       = 'V'
                                                   and p8.sel_option      = 'EQ'

    inner join              fpb_persparm    as p9  on  p9.perskeytp       = 'U'
                                                   and p9.perskey         = :P_uname
                                                   and p9.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                                   and p9.fieldname       = 'FKBER'
                                                   and p9.pers_subcontext = ''
                                                   and p9.noauth          = ' '
                                                   and p9.sel_sign        = 'I'
                                                   and p9.fieldtype       = 'V'
                                                   and p9.sel_option      = 'EQ'

    inner join              fpb_persparm    as p10 on  p10.perskeytp       = 'U'
                                                   and p10.perskey         = :P_uname
                                                   and p10.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                                   and p10.fieldname       = 'MEASURE'
                                                   and p10.pers_subcontext = ''
                                                   and p10.noauth          = ' '
                                                   and p10.sel_sign        = 'I'
                                                   and p10.fieldtype       = 'V'
                                                   and p10.sel_option      = 'EQ'

    left outer to many join fpb_persparm    as p11 on  p11.perskeytp       = 'U'
                                                   and p11.perskey         = :P_uname
                                                   and p11.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                                   and p11.fieldname       = 'CVRGRP'
                                                   and p11.pers_subcontext = ''
                                                   and p11.noauth          = ' '
                                                   and p11.sel_sign        = 'I'
                                                   and p11.fieldtype       = 'V'
                                                   and p11.sel_option      = 'EQ'

{
  key AVC.rfikrs,
  key AVC.rrcty,
  key AVC.rldnr,
  key AVC.ryear,
  key AVC.ceffyear_9,
  key AVC.rcvrgrp_9,
  key AVC.rgrant_nbr,
  key AVC.rfund,
  key AVC.budget_pd_9,
  key AVC.rfundsctr,
  key AVC.rcmmtitem,
  key AVC.rfuncarea,
  key AVC.rmeasure,
  key AVC.ruserdim,
  key AVC.alloctype_9,
      @Semantics.currencyCode: true
  key AVC.rtcur,

      @Semantics.amount.currencyCode: 'rtcur'
      case AVC.rrcty when '0'
           then cast(0 as abap.curr(24,2))
           else cast((AVC.hsl01 + AVC.hsl02 +
                      AVC.hsl03 + AVC.hsl04 +
                      AVC.hsl05 + AVC.hsl06 +
                      AVC.hsl07 + AVC.hsl08 +
                      AVC.hsl09 + AVC.hsl10 +
                      AVC.hsl11 + AVC.hsl12 +
                      AVC.hsl13 + AVC.hsl14 +
                      AVC.hsl15 + AVC.hsl16) as abap.curr(24,2))
           end as Amount1,

      @Semantics.amount.currencyCode: 'rtcur'
      case AVC.rrcty when '0'
           then cast((AVC.hsl01 + AVC.hsl02 +
                      AVC.hsl03 + AVC.hsl04 +
                      AVC.hsl05 + AVC.hsl06 +
                      AVC.hsl07 + AVC.hsl08 +
                      AVC.hsl09 + AVC.hsl10 +
                      AVC.hsl11 + AVC.hsl12 +
                      AVC.hsl13 + AVC.hsl14 +
                      AVC.hsl15 + AVC.hsl16) as abap.curr(24,2))
           else cast(0 as abap.curr(24,2))
           end as Amount0

}

where
  // standard control objects only:

       AVC.alloctype_9 = 'KBFC'
  and  AVC.rcvrgrp_9   = ''
  and(
       AVC.wfstate_9   = 'P'
    or AVC.wfstate_9   = 'R'
  )
  and(
       p4.low          = '*'
    or AVC.rgrant_nbr  = p4.low
  )
  and(
       p5.low          = '*'
    or AVC.rfund       = p5.low
  )
  and(
       p6.low          = '*'
    or AVC.budget_pd_9 = p6.low
  )
  and(
       p7.low          = '*'
    or AVC.rfundsctr   = p7.low
  )
  and(
       p8.low          = '*'
    or AVC.rcmmtitem   = p8.low
  )
  and(
       p9.low          = '*'
    or AVC.rfuncarea   = p9.low
  )
  and(
       p10.low         = '*'
    or AVC.rmeasure    = p10.low
  )
  and(
       p11.low         is null
    or p11.low         = '*'
    or
    // Attention: AVC.rcvrgrp_9 is SPACE!

       AVC.rcvrgrp_9   = p11.low
  )

union all select from P_FMAVCT_Compat as AVC

  inner join          fpb_persparm    as p1  on  p1.perskeytp       = 'U'
                                             and p1.perskey         = :P_uname
                                             and p1.applid          = 'FM-AVC_ANNUAL'
                                             and p1.fieldname       = 'FIKRS'
                                             and p1.pers_subcontext = ''
                                             and p1.noauth          = ' '
                                             and p1.sel_sign        = 'I'
                                             and p1.fieldtype       = 'V'
                                             and p1.sel_option      = 'EQ'
                                             and p1.low             = AVC.rfikrs

  inner join          fpb_persparm    as p2  on  p2.perskeytp       = 'U'
                                             and p2.perskey         = :P_uname
                                             and p2.applid          = 'FM-AVC_ANNUAL'
                                             and p2.fieldname       = 'ALDNR'
                                             and p2.pers_subcontext = ''
                                             and p2.noauth          = ' '
                                             and p2.sel_sign        = 'I'
                                             and p2.fieldtype       = 'V'
                                             and p2.sel_option      = 'EQ'
                                             and p2.low             = AVC.rldnr

// fiscal year is mandatory (annual values!):

  inner join          fpb_persparm    as p3  on  p3.perskeytp       = 'U'
                                             and p3.perskey         = :P_uname
                                             and p3.applid          = 'FM-AVC_ANNUAL'
                                             and p3.fieldname       = 'GJAHR'
                                             and p3.pers_subcontext = ''
                                             and p3.noauth          = ' '
                                             and p3.sel_sign        = 'I'
                                             and p3.fieldtype       = 'V'
                                             and p3.sel_option      = 'EQ'
                                             and p3.low             = AVC.ryear

// optional account assignment elements:

// -> Use INNER JOINs for better performance

// -> Intervals and groups are resolved into single values

// -> Support of pseudo-value '*' for taking all values

  inner join          fpb_persparm    as p4  on  p4.perskeytp       = 'U'
                                             and p4.perskey         = :P_uname
                                             and p4.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                             and p4.fieldname       = 'GRANT'
                                             and p4.pers_subcontext = ''
                                             and p4.noauth          = ' '
                                             and p4.sel_sign        = 'I'
                                             and p4.fieldtype       = 'V'
                                             and p4.sel_option      = 'EQ'

  inner join          fpb_persparm    as p5  on  p5.perskeytp       = 'U'
                                             and p5.perskey         = :P_uname
                                             and p5.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                             and p5.fieldname       = 'FUND'
                                             and p5.pers_subcontext = ''
                                             and p5.noauth          = ' '
                                             and p5.sel_sign        = 'I'
                                             and p5.fieldtype       = 'V'
                                             and p5.sel_option      = 'EQ'

  inner join          fpb_persparm    as p6  on  p6.perskeytp       = 'U'
                                             and p6.perskey         = :P_uname
                                             and p6.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                             and p6.fieldname       = 'BUDGET_PD'
                                             and p6.pers_subcontext = ''
                                             and p6.noauth          = ' '
                                             and p6.sel_sign        = 'I'
                                             and p6.fieldtype       = 'V'
                                             and p6.sel_option      = 'EQ'

  inner join          fpb_persparm    as p7  on  p7.perskeytp       = 'U'
                                             and p7.perskey         = :P_uname
                                             and p7.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                             and p7.fieldname       = 'FISTL'
                                             and p7.pers_subcontext = ''
                                             and p7.noauth          = ' '
                                             and p7.sel_sign        = 'I'
                                             and p7.fieldtype       = 'V'
                                             and p7.sel_option      = 'EQ'

  inner join          fpb_persparm    as p8  on  p8.perskeytp       = 'U'
                                             and p8.perskey         = :P_uname
                                             and p8.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                             and p8.fieldname       = 'FIPEX'
                                             and p8.pers_subcontext = ''
                                             and p8.noauth          = ' '
                                             and p8.sel_sign        = 'I'
                                             and p8.fieldtype       = 'V'
                                             and p8.sel_option      = 'EQ'

  inner join          fpb_persparm    as p9  on  p9.perskeytp       = 'U'
                                             and p9.perskey         = :P_uname
                                             and p9.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                             and p9.fieldname       = 'FKBER'
                                             and p9.pers_subcontext = ''
                                             and p9.noauth          = ' '
                                             and p9.sel_sign        = 'I'
                                             and p9.fieldtype       = 'V'
                                             and p9.sel_option      = 'EQ'

  inner join          fpb_persparm    as p10 on  p10.perskeytp       = 'U'
                                             and p10.perskey         = :P_uname
                                             and p10.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                             and p10.fieldname       = 'MEASURE'
                                             and p10.pers_subcontext = ''
                                             and p10.noauth          = ' '
                                             and p10.sel_sign        = 'I'
                                             and p10.fieldtype       = 'V'
                                             and p10.sel_option      = 'EQ'

  inner join          fpb_persparm    as p11 on  p11.perskeytp       = 'U'
                                             and p11.perskey         = :P_uname
                                             and p11.applid          = 'FM-AVC_ANNUAL-CONTROL_OBJECT'
                                             and p11.fieldname       = 'CVRGRP'
                                             and p11.pers_subcontext = ''
                                             and p11.noauth          = ' '
                                             and p11.sel_sign        = 'I'
                                             and p11.fieldtype       = 'V'
                                             and p11.sel_option      = 'EQ'

{
  key AVC.rfikrs,
  key AVC.rrcty,
  key AVC.rldnr,
  key AVC.ryear,
  key AVC.ceffyear_9,
  key AVC.rcvrgrp_9,
  key AVC.rgrant_nbr,
  key AVC.rfund,
  key AVC.budget_pd_9,
  key AVC.rfundsctr,
  key AVC.rcmmtitem,
  key AVC.rfuncarea,
  key AVC.rmeasure,
  key AVC.ruserdim,
  key AVC.alloctype_9,
      @Semantics.currencyCode: true
  key AVC.rtcur,

      @Semantics.amount.currencyCode: 'rtcur'
      case AVC.rrcty when '0'
           then cast(0 as abap.curr(24,2))
           else cast((AVC.hsl01 + AVC.hsl02 +
                      AVC.hsl03 + AVC.hsl04 +
                      AVC.hsl05 + AVC.hsl06 +
                      AVC.hsl07 + AVC.hsl08 +
                      AVC.hsl09 + AVC.hsl10 +
                      AVC.hsl11 + AVC.hsl12 +
                      AVC.hsl13 + AVC.hsl14 +
                      AVC.hsl15 + AVC.hsl16) as abap.curr(24,2))
           end as Amount1,

      @Semantics.amount.currencyCode: 'rtcur'
      case AVC.rrcty when '0'
           then cast((AVC.hsl01 + AVC.hsl02 +
                      AVC.hsl03 + AVC.hsl04 +
                      AVC.hsl05 + AVC.hsl06 +
                      AVC.hsl07 + AVC.hsl08 +
                      AVC.hsl09 + AVC.hsl10 +
                      AVC.hsl11 + AVC.hsl12 +
                      AVC.hsl13 + AVC.hsl14 +
                      AVC.hsl15 + AVC.hsl16) as abap.curr(24,2))
           else cast(0 as abap.curr(24,2))
           end as Amount0
      // no distrinction between non-eligible and eligible amounts!


}

where
  (
       // expenditure budget addresses in automatic cover groups only (no Call RIB!):

       AVC.alloctype_9 =  'SEEC'
    or AVC.alloctype_9 =  'SENC'
    or AVC.alloctype_9 =  'REEC'
    or AVC.alloctype_9 =  'RENC'
    or AVC.alloctype_9 =  'RSEC'
    or AVC.alloctype_9 =  'RSNC'
  )
  and  AVC.rcvrgrp_9   <> ''
  and(
       AVC.wfstate_9   =  'P'
    or AVC.wfstate_9   =  'R'
  )
  and(
       p4.low          =  '*'
    or AVC.rgrant_nbr  =  p4.low
  )
  and(
       p5.low          =  '*'
    or AVC.rfund       =  p5.low
  )
  and(
       p6.low          =  '*'
    or AVC.budget_pd_9 =  p6.low
  )
  and(
       p7.low          =  '*'
    or AVC.rfundsctr   =  p7.low
  )
  and(
       p8.low          =  '*'
    or AVC.rcmmtitem   =  p8.low
  )
  and(
       p9.low          =  '*'
    or AVC.rfuncarea   =  p9.low
  )
  and(
       p10.low         =  '*'
    or AVC.rmeasure    =  p10.low
  )
  and(
       p11.low         =  '*'
    or AVC.rcvrgrp_9   =  p11.low
  )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"P_FMAVCT_COMPAT",
"FPB_PERSPARM"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/