@AccessControl.authorizationCheck: #MANDATORY
@VDM.viewType: #CONSUMPTION
@EndUserText.label : 'Project Brief Cost line chart'
@ObjectModel.query.implementedBy : 'ABAP:CL_EPPM_PROJ_COST_LINEITEM'
@ObjectModel: {
usageType: {
serviceQuality: #D,
dataClass: #MIXED,
sizeCategory: #L
}
}
@UI.presentationVariant: [{
sortOrder:[{
by : 'YearMonth',
direction: #ASC }] ,
visualizations : [{
type : #AS_CHART
}]
}]
@UI.chart: [{
title: 'Project Costs',
description: 'Costs',
chartType: #LINE,
measures: [ 'PlanAmountInGlobalCurrency', 'ActualAmountInGlobalCurrency' ] ,
dimensions: [ 'YearMonth', 'CalendarYear'],
dimensionAttributes: [
{ dimension: 'YearMonth' , role: #CATEGORY },
{ dimension: 'CalendarYear', role: #CATEGORY }
],
measureAttributes: [
{ measure: 'PlanAmountInGlobalCurrency' , role: #AXIS_1, asDataPoint: false },
{ measure: 'ActualAmountInGlobalCurrency', role: #AXIS_1, asDataPoint: false }
],
actions:[
{ type: #FOR_INTENT_BASED_NAVIGATION, semanticObjectAction : 'displayFinancialReport', label: 'Project Cost Report' }
]
}]
define view entity C_EnterpriseProjectBriefCost as select from R_EnterpriseProject as Project
join I_YearMonth as Period on Period.YearMonth = '201801'
association [1] to I_CalendarMonth as _CalendarMonth on $projection.CalendarMonth = _CalendarMonth.CalendarMonth
{
key Project.ProjectUUID,
key Project.ProjectInternalID,
@UI.textArrangement: #TEXT_ONLY
@ObjectModel.text.element: [ 'CalendarMonthName' ]
@EndUserText: {
label: 'Month',
quickInfo: 'Month'
}
key Period.YearMonth,
@EndUserText: {
label: 'Year',
quickInfo: 'Year'
}
Period.CalendarYear,
@ObjectModel.foreignKey.association : '_CalendarMonth'
@ObjectModel.text.element: [ 'CalendarMonthName' ]
@EndUserText: {
label: 'Month',
quickInfo: 'Month'
}
Period.CalendarMonth,
@UI.hidden: true
_CalendarMonth._Text[1:Language = $session.system_language].CalendarMonthName as CalendarMonthName,
@EndUserText.label : 'Global Currency'
cast ( 'EUR' as abap.cuky ) as GlobalCurrency,
@Semantics.amount.currencyCode : 'GlobalCurrency'
@Aggregation.default : #SUM
@EndUserText.label : 'Actual'
@EndUserText.quickInfo : 'Cumulated Actual Cost in CO Area Crcy'
cast ( 0 as /s4ppm/ovr_act_cos_in_glo_curr) as ActualAmountInGlobalCurrency,
@Semantics.amount.currencyCode : 'GlobalCurrency'
@Aggregation.default : #SUM
@EndUserText.label : 'Plan'
@EndUserText.quickInfo : 'Cumulated Plan Cost in CO Area Crcy'
cast ( 0 as /s4ppm/ovr_act_cos_in_glo_curr) as PlanAmountInGlobalCurrency,
@ObjectModel.filter .enabled: false
@ObjectModel.sort.enabled: false
Project._ProfitCenter,
Project.ProfitCenter,
@ObjectModel.filter .enabled: false
@ObjectModel.sort.enabled: false
Project._ControllingArea,
Project.ControllingArea,
@ObjectModel.filter .enabled: false
@ObjectModel.sort.enabled: false
_CalendarMonth
}
/*+[internal] {
"BASEINFO":
{
"FROM ":
[
"I_CALENDARMONTH",
"I_CALENDARMONTHTEXT",
"I_YEARMONTH",
"R_ENTERPRISEPROJECT"
],
"ASSOCIATED":
[
"I_CALENDARMONTH",
"I_CONTROLLINGAREA",
"I_PROFITCENTER"
],
"BASE":
[
"R_ENTERPRISEPROJECT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Depth:
1
2
3
4
5
All
Reload
C_EnterpriseProjectBriefCost view_entity