I_PPM_ProjectCostSumCurrent

DDL: I_PPM_PROJECTCOSTSUMCURRENT SQL: IPPMPRJCSTSUMCUR Type: view COMPOSITE Package: VDM_PPM_OBJECTS_ANALYTICS

Project Cost To Current Date

I_PPM_ProjectCostSumCurrent is a Composite CDS View that provides data about "Project Cost To Current Date" in SAP S/4HANA. It reads from 1 data source (I_PPM_ProjectSummaryTask) and exposes 11 fields with key fields ProjectSummaryTaskUUID, GlobalCurrency. It has 4 associations to related views. Part of development package VDM_PPM_OBJECTS_ANALYTICS.

Data Sources (1)

SourceAliasJoin Type
I_PPM_ProjectSummaryTask Project from

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_PPM_AuthznByUsrH _AuthUserFin _AuthUserFin.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID and _AuthUserFin.UserID = $session.user and _AuthUserFin.Activity = 'Financials'
[0..*] I_PPM_AuthznBySubstitH _AuthSubstFin _AuthSubstFin.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID and _AuthSubstFin.UserID = $session.user and _AuthSubstFin.Activity = 'Financials'
[0..*] I_PPM_AuthznByUserRoleH _AuthRoleFin _AuthRoleFin.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID and _AuthRoleFin.UserID = $session.user and _AuthRoleFin.Activity = 'Financials'
[0..*] I_PPM_AuthznByUsrGrpH _AuthGroupFin _AuthGroupFin.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID and _AuthGroupFin.UserID = $session.user and _AuthGroupFin.Activity = 'Financials'

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IPPMPRJCSTSUMCUR view
AbapCatalog.compiler.compareFilter true view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
Consumption.semanticObject EnterpriseProject view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
EndUserText.label Project Cost To Current Date view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY ProjectSummaryTaskUUID I_PPM_ProjectSummaryTask ProjectSummaryTaskUUID
KEY GlobalCurrency
ProjectInternalID I_PPM_ProjectSummaryTask ProjectInternalID
_AuthUser _AuthUser
_AuthSubst _AuthSubst
_AuthRole _AuthRole
_AuthGroup _AuthGroup
_AuthUserFin _AuthUserFin
_AuthSubstFin _AuthSubstFin
_AuthRoleFin _AuthRoleFin
_AuthGroupFin _AuthGroupFin
@AbapCatalog.sqlViewName: 'IPPMPRJCSTSUMCUR'
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #COMPOSITE

@ObjectModel: {
  usageType:{ sizeCategory: #XXL,
              dataClass:    #MIXED,
              serviceQuality: #D    }
}
@Consumption.semanticObject: 'EnterpriseProject'

@AccessControl.authorizationCheck:    #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Project Cost To Current Date'
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API 
// this excludes future costs


define view I_PPM_ProjectCostSumCurrent
  as select from I_PPM_ProjectSummaryTask   as Project      // get all projets

//    inner join  P_PPM_ProjCostMappingWBS    as WBSMap       // get all cost objects

//            on  Project.ProjectInternalID  = WBSMap.ProjectInternalID            

//    inner join  I_ProjectCostLineItems      as CostItem     // get all costs

//           on   CostItem.ProjectObjectNode = WBSMap.WBSObjectNode

//            and CostItem.IsCommitment       <> 'X' 

//    inner join  I_PPM_CurrentPeriod         as CurrentPeriod

//          on    Project.ProjectInternalID  = CurrentPeriod.ProjectInternalID

//    inner join  I_FiscalYearPeriodForCmpnyCode  as FiscalPeriod     

//            on  CostItem.FiscalYear   = FiscalPeriod.FiscalYear

//            and CostItem.FiscalPeriod = FiscalPeriod.FiscalPeriod

//            and CostItem.CompanyCode  = FiscalPeriod.CompanyCode

//            

    // additional  associations to authorization views

    association [0..1] to I_PPM_AuthznByUsrH        as _AuthUserFin
            on      _AuthUserFin.ReferencedObjectUUID   = $projection.ProjectSummaryTaskUUID
             and    _AuthUserFin.UserID                 = $session.user
             and    _AuthUserFin.Activity = 'Financials'
    association [0..*] to I_PPM_AuthznBySubstitH    as _AuthSubstFin 
            on      _AuthSubstFin.ReferencedObjectUUID  = $projection.ProjectSummaryTaskUUID
             and    _AuthSubstFin.UserID                = $session.user
             and    _AuthSubstFin.Activity = 'Financials' 
    association [0..*] to I_PPM_AuthznByUserRoleH   as _AuthRoleFin
            on      _AuthRoleFin.ReferencedObjectUUID   = $projection.ProjectSummaryTaskUUID
             and    _AuthRoleFin.UserID                 = $session.user
             and    _AuthRoleFin.Activity = 'Financials' 
    association [0..*] to I_PPM_AuthznByUsrGrpH     as _AuthGroupFin
            on      _AuthGroupFin.ReferencedObjectUUID  = $projection.ProjectSummaryTaskUUID
             and    _AuthGroupFin.UserID                = $session.user
             and    _AuthGroupFin.Activity = 'Financials'         
            
{
key Project.ProjectSummaryTaskUUID,
    @Semantics.currencyCode:true
//key CostItem.GlobalCurrency,

key cast ('EUR' as fis_rkcur) as GlobalCurrency,
    Project.ProjectInternalID,

//    @Semantics.amount.currencyCode: 'GlobalCurrency'

//    sum(CostItem.ActualAmountInGlobalCurrency)    as ActualAmountInGlobalCurrency,

//    '500,00' as ActualAmountInGlobalCurrency,

//    @Semantics.amount.currencyCode: 'GlobalCurrency'

//    sum(CostItem.PlanAmountInGlobalCurrency)      as PlanAmountInGlobalCurrency,  

//    '0'      as PlanAmountInGlobalCurrency

  
    _AuthUser,
    _AuthSubst,
    _AuthRole,
    _AuthGroup,
    
    _AuthUserFin,
    _AuthSubstFin,
    _AuthRoleFin,
    _AuthGroupFin
}
//where FiscalPeriod._FiscalPeriodStartDate.YearMonth <= CurrentPeriod.YearMonth 

//  and CostItem.GlobalCurrency                       <> ''

//group by

//  Project.ProjectSummaryTaskUUID,  

//  CostItem.GlobalCurrency,

//  Project.ProjectInternalID