C_EnterpriseProjectBriefCost

DDL: C_ENTERPRISEPROJECTBRIEFCOST Type: view_entity CONSUMPTION

Project Brief Cost line chart

C_EnterpriseProjectBriefCost is a Consumption CDS View that provides data about "Project Brief Cost line chart" in SAP S/4HANA. It reads from 1 data source (R_EnterpriseProject) and exposes 14 fields with key fields ProjectUUID, ProjectInternalID, YearMonth. It has 1 association to related views.

Data Sources (1)

SourceAliasJoin Type
R_EnterpriseProject Project from

Associations (1)

CardinalityTargetAliasCondition
[1] I_CalendarMonth _CalendarMonth $projection.CalendarMonth = _CalendarMonth.CalendarMonth

Annotations (7)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
VDM.viewType #CONSUMPTION view
EndUserText.label Project Brief Cost line chart view
ObjectModel.query.implementedBy ABAP:CL_EPPM_PROJ_COST_LINEITEM view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view

Fields (14)

KeyFieldSource TableSource FieldDescription
KEY ProjectUUID R_EnterpriseProject ProjectUUID
KEY ProjectInternalID R_EnterpriseProject ProjectInternalID
KEY YearMonth Period YearMonth
CalendarYear Period CalendarYear
CalendarMonth Period CalendarMonth
CalendarMonthName
GlobalCurrency Global Currency
ActualAmountInGlobalCurrency Actual
PlanAmountInGlobalCurrency Plan
_ProfitCenter R_EnterpriseProject _ProfitCenter
ProfitCenter R_EnterpriseProject ProfitCenter
_ControllingArea R_EnterpriseProject _ControllingArea
ControllingArea R_EnterpriseProject ControllingArea
_CalendarMonth _CalendarMonth
@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":""
}
}*/