P_FmavcAcoDataUser
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)
| Source | Alias | Join 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)
| Name | Type | Default |
|---|---|---|
| P_uname | syuname |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA