P_EngmntProjReviewData

DDL: P_ENGMNTPROJREVIEWDATA Type: view COMPOSITE Package: CPD_CDS

Engagement Project Plan Review Data

P_EngmntProjReviewData is a Composite CDS View that provides data about "Engagement Project Plan Review Data" in SAP S/4HANA. It reads from 11 data sources and exposes 292 fields. Part of development package CPD_CDS.

Data Sources (11)

SourceAliasJoin Type
I_EngagementProjectItem B inner
I_Customer Customer left_outer
I_EngagementProject EngagementProject from
I_EngmntProjAssgmtToSessionUsr EngagementProject union_all
I_EngagementProjFinancialPlan EngagementProjFinancialPlan inner
I_Ledger Ledger inner
P_EngmntProjPlnActlWithFrcst1 ProjectReview inner
I_SalesDocumentItemBasic SalesOrderItem left_outer
I_SalesDocumentItemBasic SalesOrderItem left_outer
I_WBSElementBasicData WBSElement left_outer
I_WorkPackageAll WorkPackage left_outer

Parameters (2)

NameTypeDefault
P_Date sydatum
P_FiscalYearPeriod fis_jahrper

Annotations (13)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName PEPREVIEWDATA view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
VDM.private true view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #NONE view
Metadata.ignorePropagatedAnnotations true view

Fields (292)

KeyFieldSource TableSource FieldDescription
lookupEntityI_FiscalCalendarDate
resultElementFiscalYearPeriod
EngagementProjectUUID I_EngmntProjAssgmtToSessionUsr EngagementProjectUUID
ProjectStartDate I_EngmntProjAssgmtToSessionUsr ProjectStartDate
ProjectEndDate I_EngmntProjAssgmtToSessionUsr ProjectEndDate
ProjectVisibility I_EngmntProjAssgmtToSessionUsr ProjectVisibility
Customer P_EngmntProjPlnActlWithFrcst1 Customer
CustomerName
AddressID
IsBusinessPurposeCompleted
EngagementProjectStage P_EngmntProjPlnActlWithFrcst1 EngagementProjectStage
EngagementProjectCategory P_EngmntProjPlnActlWithFrcst1 EngagementProjectCategory
EngagementProjectServiceOrg P_EngmntProjPlnActlWithFrcst1 EngagementProjectServiceOrg
EngagementProjectType P_EngmntProjPlnActlWithFrcst1 EngagementProjectType
ProjectLastChangedDateTime
EngagementProjFinPlanUUID I_EngagementProjFinancialPlan EngagementProjFinPlanUUID
EngmtProjFinPlanVersion
EngmntProjReviewYearPeriod P_EngmntProjPlnActlWithFrcst1 EngmntProjReviewYearPeriod
EngagementProjectReviewStatus P_EngmntProjPlnActlWithFrcst1 EngagementProjectReviewStatus
FiscalYearVariant FiscalYearPeriod FiscalYearVariant
EngmntProjReviewYear
EngmntProjReviewPeriod
SalesOrder I_WorkPackageAll SalesOrder
SalesOrderItem I_WorkPackageAll SalesOrderItem
SalesDocumentItemCategory I_SalesDocumentItemBasic SalesDocumentItemCategory
SalesDocumentItemText I_SalesDocumentItemBasic SalesDocumentItemText
TransactionCurrency I_SalesDocumentItemBasic TransactionCurrency
WorkPackage
WorkItem
WorkPackageName I_WorkPackageAll WorkPackageName
WBSElementIsBillingElement
WorkPackageType I_WorkPackageAll WorkPackageType
WorkPackageStartDate I_WorkPackageAll WorkPackageStartDate
WorkPackageEndDate I_WorkPackageAll WorkPackageEndDate
IsDeleted I_WorkPackageAll IsDeleted
IsUnitBased IsUnitBased
ResourceIsOfUnitWorkPackage ResourceIsOfUnitWorkPackage
EngmntProjectDeliveryOrg P_EngmntProjPlnActlWithFrcst1 EngmntProjectDeliveryOrg
EngagementProjectResourceType P_EngmntProjPlnActlWithFrcst1 EngagementProjectResourceType
EngagementProjectResource
Currency P_EngmntProjPlnActlWithFrcst1 Currency
UnitOfMeasure P_EngmntProjPlnActlWithFrcst1 UnitOfMeasure
TotalNetAmount
ActlEffortQty
ActualEffortUpToCurPerd ActualEffortUpToCurPerd
ActlEffortQtyUpToRevPerd ActlEffortQtyUpToRevPerd
ActualUnitQty ActualUnitQty
ActlUnitUpToCurPerdQty ActlUnitQtyUpToCurPerd
ActlUnitUpToRevPerdQty ActlUnitQtyUpToRevPerd
AddlResourceActualQuantity AddlResourceActualQuantity
AddlRsceUpToCurPerdActlQty AddlRsceUpToCurPerdActlQty
AddlRsceUpToRevPerdActlQty AddlRsceUpToRevPerdActlQty
ActlCostAmt
ActualCostUpToCurPerd ActualCostUpToCurPerd
ActlCostAmtUpToRevPerd ActlCostAmtUpToRevPerd
ActlCostInCoCodeCrcy ActlCostInCoCodeCrcy
ActualExpenseCost ActualExpenseCost
ActlExpCostUpToCurPerd ActlExpCostUpToCurPerd
ActlExpenseCostUpToRevPerd ActlExpenseCostUpToRevPerd
PlanUnitQuantity P_EngmntProjPlnActlWithFrcst1 PlanUnitQuantity
SupplyEffortQty SupplyEffortQty
PlndEffortQty
PlndEffortQtyUpToRevPerd PlndEffortQtyUpToRevPerd
PlndEffortUpToCurPerd PlndEffortUpToCurPerd
ActualPlanDeviationEffort
AddlResourcePlannedQuantity AddlResourcePlannedQuantity
AddlRsceActlPlanDeviationQty AddlRsceActlPlanDeviationQty
AdjustedOthRscePlndQty AdjustedOthRscePlndQty
PlndCostAmt
ActualPlanDeviationCost
PlannedEffortCostAmt PlannedEffortCostAmt
PlannedCostUpToCurPerd PlannedCostUpToCurPerd
PlndCostAmtUpToRevPerd PlndCostAmtUpToRevPerd
AddlResourcePlannedCostAmount AddlResourcePlannedCostAmount
PlndRevnAmt
PlndRevnAmtUpToRevPerd PlndRevnAmtUpToRevPerd
PlannedRevnUpToCurPerd PlannedRevnUpToCurPerd
PlannedExpenseCost PlannedExpenseCost
PlndExpenseCostUpToRevPerd PlndExpenseCostUpToRevPerd
PlndExpCostUpToCurPerd PlndExpCostUpToCurPerd
ActualPlanDeviationExpnCost ActualPlanDeviationExpnCost
BaselinePlndEffortQty BaselinePlndEffortQty
BaselinePlannedQuantity BaselinePlannedQuantity
BaselinePlndCostAmt BaselinePlndCostAmt
BaselinePlndRevnAmt BaselinePlndRevnAmt
AdjustedRemainingEffort AdjustedRemainingEffort
AdjustedRemngEffortToFsclPerd AdjustedRemngEffortToFsclPerd
AdjustedRemainingEffortCost AdjustedRemainingEffortCost
AdjstdRemngEffortCstToFsclPerd AdjstdRemngEffortCstToFsclPerd
AdjustedRemainingExpnCost AdjustedRemainingExpnCost
AdjustedRemainingCostPlnAmt AdjustedRemainingCostPlnAmt
AddlRsceEstToCmpltQty AddlRsceEstToCmpltQty
AddlRsceEstToCmpltCostAmount AddlRsceEstToCmpltCostAmount
EstToCmpltCostUpToCurPerd EstToCmpltCostUpToCurPerd
EstToCmpltCostUpToRevPerd EstToCmpltCostUpToRevPerd
AddlRsceEtcUpToCurPerdQty AddlRsceEtcUpToCurPerdQty
AddlRsceEtcUpToRevPerdQty AddlRsceEtcUpToRevPerdQty
AddlRsceEtcCostUpToRevPerdAmt AddlRsceEtcCostUpToRevPerdAmt
AddlRsceEtcCostUpToCurPerdAmt AddlRsceEtcCostUpToCurPerdAmt
EstToCmpltEffortUpToRevPerd EstToCmpltEffortUpToRevPerd
EstToCmpltEffortUpToCurPerd EstToCmpltEffortUpToCurPerd
EstToCmpltEffCostUpToCurPerd EstToCmpltEffCostUpToCurPerd
EstToCmpltEffCostUpToRevPerd EstToCmpltEffCostUpToRevPerd
EstToCmpltExpnCostUpToCurPerd EstToCmpltExpnCostUpToCurPerd
EstToCmpltExpnCostUpToRevPerd EstToCmpltExpnCostUpToRevPerd
EstimateAtCompletionCost EstimateAtCompletionCost
EstAtCompltnCostUpToCurPerd EstAtCompltnCostUpToCurPerd
EstAtCompltnCostUpToRevPerd EstAtCompltnCostUpToRevPerd
EstAtCompltnEffortUpToCurPerd EstAtCompltnEffortUpToCurPerd
EstAtCompltnEffortUpToRevPerd EstAtCompltnEffortUpToRevPerd
EstimateAtCompletionEffort EstimateAtCompletionEffort
AddlRsceEstAtCompltnQty AddlRsceEstAtCompltnQty
EstimateAtCompletionExpnCost EstimateAtCompletionExpnCost
EstAtCmpltExpnUpToCurPerdAmt EstAtCmpltExpnCostUpToCurPerd
EstAtCmpltExpnUpToRevPerdAmt EstAtCmpltExpnCostUpToRevPerd
DerivedEstAtCompltnCostUpToCur DerivedEstAtCompltnCostUpToCur
DerivedEstAtCompltnCostUpToRev DerivedEstAtCompltnCostUpToRev
CompltnRateInPctUpToCurPerd CompltnRateInPctUpToCurPerd
CompltnRateInPctUpToRevPerd CompltnRateInPctUpToRevPerd
PlndMarginPct PlndMarginPct
IsMyProject P_EngmntProjPlnActlWithFrcst1 IsMyProject
ProjectManagerExternalID ProjectManagerExternalID
ProjectAccountantExternalID ProjectAccountantExternalID
ProjectControllerExternalID ProjectControllerExternalID
ProjectPartnerExternalID ProjectPartnerExternalID
ProjectManager P_EngmntProjPlnActlWithFrcst1 ProjectManager
ProjectAccountant ProjectAccountant
ProjectController ProjectController
ProjectPartner Projectpartner
ProjectManagerName ProjectManagerName
ProjectAccountantName ProjectAccountantName
ProjectControllerName ProjectControllerName
ProjectPartnerName ProjectPartnerName
Ledger P_EngmntProjPlnActlWithFrcst1 Ledger
ProjectProfileCode P_EngmntProjPlnActlWithFrcst1 ProjectProfileCode
EngmntProjectHeaderCompanyCode P_EngmntProjPlnActlWithFrcst1 EngmntProjectHeaderCompanyCode
EngagementProjectCostCenter P_EngmntProjPlnActlWithFrcst1 EngagementProjectCostCenter
EngagementProjectUUID I_EngmntProjAssgmtToSessionUsr EngagementProjectUUID
ProjectStartDate I_EngmntProjAssgmtToSessionUsr ProjectStartDate
ProjectEndDate I_EngmntProjAssgmtToSessionUsr ProjectEndDate
ProjectVisibility I_EngmntProjAssgmtToSessionUsr ProjectVisibility
Customer I_EngmntProjAssgmtToSessionUsr Customer
CustomerName I_Customer BPCustomerName
AddressID I_Customer AddressID
IsBusinessPurposeCompleted I_Customer IsBusinessPurposeCompleted
EngagementProjectStage I_EngmntProjAssgmtToSessionUsr EngagementProjectStage
EngagementProjectCategory I_EngmntProjAssgmtToSessionUsr EngagementProjectCategory
EngagementProjectServiceOrg I_EngmntProjAssgmtToSessionUsr EngagementProjectServiceOrg
EngagementProjectType I_EngmntProjAssgmtToSessionUsr EngagementProjectType
ProjectLastChangedDateTime
EngagementProjFinPlanUUID I_EngmntProjAssgmtToSessionUsr EngagementProjFinPlanUUID
EngmtProjFinPlanVersion
EngmntProjReviewYearPeriod I_EngmntProjAssgmtToSessionUsr EngmntProjReviewYearPeriod
EngagementProjectReviewStatus I_EngmntProjAssgmtToSessionUsr EngagementProjectReviewStatus
FiscalYearVariant FiscalYearPeriod FiscalYearVariant
EngmntProjReviewYear
EngmntProjReviewPeriod
SalesOrder I_SalesDocumentItemBasic SalesDocument
SalesOrderItem I_SalesDocumentItemBasic SalesDocumentItem
SalesDocumentItemCategory I_SalesDocumentItemBasic SalesDocumentItemCategory
SalesDocumentItemText I_SalesDocumentItemBasic SalesDocumentItemText
TransactionCurrency I_SalesDocumentItemBasic TransactionCurrency
WorkPackage
WorkItem
WorkPackageName I_WBSElementBasicData WBSDescription
WBSElementIsBillingElement
WorkPackageType
WorkPackageStartDate
WorkPackageEndDate
IsDeleted
IsUnitBased
ResourceIsOfUnitWorkPackage 0
EngmntProjectDeliveryOrg
EngagementProjectResourceType
EngagementProjectResource
Currency I_EngmntProjAssgmtToSessionUsr Currency
UnitOfMeasure
TotalNetAmount I_SalesDocumentItemBasic NetAmount
ActlEffortQty 0
ActualEffortUpToFsclYrPerd 0
ActualEffortUpToCurPerd 0
ActlEffortQtyUpToRevPerd 0
ActualUnitQty 0
ActlUnitUpToCurPerdQty 0
ActlUnitUpToRevPerdQty 0
ActlUnitUpToFsclPerdQty 0
AddlResourceActualQuantity 0
AddlRsceUpToCurPerdActlQty 0
AddlRsceUpToRevPerdActlQty 0
AddlRsceUpToFsclPerdActlQty 0
ActlCostAmt 0
ActualCostUpToCurPerd 0
ActlCostAmtUpToRevPerd 0
ActualCostUpToFsclYrPerd 0
ActlCostInCoCodeCrcy 0
ActualExpenseCost 0
ActlExpCostUpToCurPerd 0
ActlExpenseCostUpToRevPerd 0
ActlExpenseCostUpToFsclYrPerd 0
PlanUnitQuantity 0
SupplyEffortQty 0
PlndEffortQty 0
PlndEffortQtyUpToRevPerd 0
PlndEffortUpToCurPerd 0
PlndEffortUpToFsclYrPerd 0
ActualPlanDeviationEffort 0
AddlResourcePlannedQuantity 0
AddlRsceActlPlanDeviationQty 0
AdjustedOthRscePlndQty 0
PlndCostAmt 0
ActualPlanDeviationCost 0
PlannedEffortCostAmt 0
PlannedCostUpToCurPerd 0
PlndCostAmtUpToRevPerd 0
PlannedCostUpToFsclYrPerd 0
AddlResourcePlannedCostAmount 0
PlndRevnAmt 0
PlndRevnAmtUpToRevPerd 0
PlannedRevnUpToCurPerd 0
PlannedRevnUpToFsclYrPerd 0
PlannedExpenseCost 0
PlndExpenseCostUpToRevPerd 0
PlndExpCostUpToCurPerd 0
PlndExpenseCostUpToFsclYrPerd 0
ActualPlanDeviationExpnCost 0
BaselinePlndEffortQty 0
BaselinePlannedQuantity 0
BaselinePlndCostAmt 0
BaselinePlndRevnAmt 0
AdjustedRemainingEffort 0
AdjustedRemngEffortToFsclPerd 0
AdjustedRemainingEffortCost 0
AdjstdRemngEffortCstToFsclPerd 0
AdjustedRemainingExpnCost 0
AdjustedRemainingCostPlnAmt 0
AddlRsceEstToCmpltQty 0
AddlRsceEstToCmpltCostAmount 0
EstToCmpltCostUpToCurPerd 0
EstToCmpltCostUpToRevPerd 0
EstToCmpltUpToFsclPerdAmt 0
AddlRsceEtcUpToCurPerdQty 0
AddlRsceEtcUpToRevPerdQty 0
AddlRsceEstToCmpltUpToFsclQty 0
AddlRsceEtcCostUpToRevPerdAmt 0
AddlRsceEtcCostUpToCurPerdAmt 0
AddlRsceEstToCmpltUpToFsclAmt 0
EstToCmpltEffortUpToRevPerd 0
EstToCmpltEffortUpToCurPerd 0
EstToCmpltUpToFsclPerdQty 0
EstToCmpltEffCostUpToCurPerd 0
EstToCmpltEffCostUpToRevPerd 0
EstToCmpltEffUpToFsclPerdAmt 0
EstToCmpltExpnCostUpToCurPerd 0
EstToCmpltExpnCostUpToRevPerd 0
EstToCmpltExpnUpToFsclPerdAmt 0
EstimateAtCompletionCost 0
EstAtCompltnCostUpToCurPerd 0
EstAtCompltnCostUpToRevPerd 0
EstAtCompltnUpToFsclPerdAmt 0
EstAtCompltnEffortUpToCurPerd 0
EstAtCompltnEffortUpToRevPerd 0
EstimateAtCompletionEffort 0
EstAtCmpltUpToFsclPerdQty 0
AddlRsceEstAtCompltnQty 0
EstimateAtCompletionExpnCost 0
EstAtCmpltExpnUpToCurPerdAmt 0
EstAtCmpltExpnUpToRevPerdAmt 0
EstAtCmpltExpnUpToFsclPerdAmt 0
DerivedEstAtCompltnCostUpToCur 0
DerivedEstAtCompltnCostUpToRev 0
DerivdEstAtCompltnUpToFsclAmt 0
CompltnRateInPctUpToCurPerd 0
CompltnRateInPctUpToRevPerd 0
PlndMarginPct 0
IsMyProject I_EngmntProjAssgmtToSessionUsr IsMyProject
ProjectManagerExternalID ProjectManagerExternalID
ProjectAccountantExternalID ProjectAccountantExternalID
ProjectControllerExternalID ProjectControllerExternalID
ProjectPartnerExternalID ProjectPartnerExternalID
ProjectManager ProjManagerUserID
ProjectAccountant ProjAccountantUserID
ProjectController ProjControllerUserID
ProjectPartner ProjPartnerUserID
ProjectManagerName ProjectManagerName
ProjectAccountantName ProjectAccountantName
ProjectControllerName ProjectControllerName
ProjectPartnerName ProjectPartnerName
Ledger I_Ledger Ledger
ProjectProfileCode I_EngmntProjAssgmtToSessionUsr ProjectProfileCode
EngmntProjectHeaderCompanyCode I_EngmntProjAssgmtToSessionUsr EngmntProjectHeaderCompanyCode
EngagementProjectCostCenter I_EngmntProjAssgmtToSessionUsr EngagementProjectCostCenter
ProfitCenter I_EngmntProjAssgmtToSessionUsr ProfitCenter
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog: {
    sqlViewName: 'PEPREVIEWDATA',
    compiler.compareFilter: true,
    preserveKey: true
}
@AccessControl: {
    authorizationCheck: #NOT_REQUIRED,
    personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@ObjectModel: {
    usageType.serviceQuality: #D,
    usageType.sizeCategory: #XXL,
    usageType.dataClass: #MIXED
}

@VDM: {
    private: true,
    viewType: #COMPOSITE,
    lifecycle.contract.type: #NONE
}
@Metadata.ignorePropagatedAnnotations: true
define view P_EngmntProjReviewData
  with parameters
    //    @Consumption.hidden: true

    @Environment.systemField: #SYSTEM_DATE
    P_Date             : sydatum,

    @Consumption.hidden: true
    @Consumption.derivation: { lookupEntity: 'I_FiscalCalendarDate',
                                  resultElement: 'FiscalYearPeriod',
                                  binding:      [ { targetElement : 'CalendarDate'      , type : #PARAMETER ,  value : 'P_Date' } ,
                                                  { targetElement : 'FiscalYearVariant' , type : #CONSTANT  ,  value : 'K4'     } ]
                                 }
    P_FiscalYearPeriod : fis_jahrper
  as select from           I_EngagementProject           as EngagementProject

    inner join             I_EngagementProjFinancialPlan as EngagementProjFinancialPlan on EngagementProject.EngagementProjectUUID = EngagementProjFinancialPlan.EngagementProjectUUID
  //                                                                                        and EngagementProject.EngagementProjectCategory = 'C'

  //                                                                                        and EngagementProject.EngagementProjectStage    = 'P003'


    left outer join        I_WorkPackageAll              as WorkPackage                 on EngagementProjFinancialPlan.EngagementProjFinPlanUUID = WorkPackage.EngagementProjFinPlanUUID

    inner join             P_EngmntProjPlnActlWithFrcst1 as ProjectReview               on  ProjectReview.EngagementProject = EngagementProject.EngagementProject
                                                                                        and ProjectReview.WorkPackage       = WorkPackage.WorkPackage

    left outer to one join I_FiscalYearPeriod            as FiscalYearPeriod            on  EngagementProjFinancialPlan.EngmntProjReviewYearPeriod = FiscalYearPeriod.FiscalYearPeriod
                                                                                        and FiscalYearPeriod.FiscalYearVariant                     = 'K4'


    left outer join        I_SalesDocumentItemBasic      as SalesOrderItem              on  WorkPackage.SalesOrderItem = SalesOrderItem.SalesDocumentItem
                                                                                        and WorkPackage.SalesOrder     = SalesOrderItem.SalesDocument

{
  cast(ProjectReview.EngagementProject as /cpd/project preserving type )                   as EngagementProject,

  EngagementProject.EngagementProjectUUID,

  EngagementProject.ProjectStartDate                                                       as ProjectStartDate,

  EngagementProject.ProjectEndDate                                                         as ProjectEndDate,

  EngagementProject.ProjectVisibility,

  ProjectReview.Customer                                                                   as Customer,

  EngagementProject._Customer.BPCustomerName                                               as CustomerName,
  EngagementProject._Customer.AddressID,
  EngagementProject._Customer.IsBusinessPurposeCompleted,

  ProjectReview.EngagementProjectStage                                                     as EngagementProjectStage,

  ProjectReview.EngagementProjectCategory                                                  as EngagementProjectCategory,

  ProjectReview.EngagementProjectServiceOrg                                                as EngagementProjectServiceOrg,

  ProjectReview.EngagementProjectType                                                      as EngagementProjectType,

  cast( EngagementProject.LastChangeDateTime as /cpd/sc_changedon )                        as ProjectLastChangedDateTime,

  EngagementProjFinancialPlan.EngagementProjFinPlanUUID,

  cast('1' as abap.char(1))                                                                as EngmtProjFinPlanVersion,

  ProjectReview.EngmntProjReviewYearPeriod,

  ProjectReview.EngagementProjectReviewStatus,

  FiscalYearPeriod.FiscalYearVariant                                                       as FiscalYearVariant,

  cast(FiscalYearPeriod.FiscalYear   as /cpd/review_year  preserving type )                as EngmntProjReviewYear,

  cast(FiscalYearPeriod.FiscalPeriod  as /cpd/review_period preserving type )              as EngmntProjReviewPeriod,


  WorkPackage.SalesOrder,

  WorkPackage.SalesOrderItem,

  SalesOrderItem.SalesDocumentItemCategory,

  SalesOrderItem.SalesDocumentItemText,

  SalesOrderItem.TransactionCurrency,



  cast (WorkPackage.WorkPackage as /cpd/workpackage)                                       as WorkPackage,

  cast(ProjectReview.WorkItem as  /cpd/workitem )                                          as WorkItem,

  WorkPackage.WorkPackageName                                                              as WorkPackageName,

  ''                                                                                       as WBSElementIsBillingElement,

  WorkPackage.WorkPackageType,

  WorkPackage.WorkPackageStartDate                                                         as WorkPackageStartDate,

  WorkPackage.WorkPackageEndDate                                                           as WorkPackageEndDate,

  WorkPackage.IsDeleted,

  IsUnitBased,

  ResourceIsOfUnitWorkPackage,

  ProjectReview.EngmntProjectDeliveryOrg                                                   as EngmntProjectDeliveryOrg,

  ProjectReview.EngagementProjectResourceType                                              as EngagementProjectResourceType,

  cast (ProjectReview.EngagementProjectResource as /cpd/resource)                          as EngagementProjectResource,


  ProjectReview.Currency                                                                   as Currency,
  ProjectReview.UnitOfMeasure                                                              as UnitOfMeasure,


  cast(0 as netwr_ap)                                                                      as TotalNetAmount,


  cast(ProjectReview.ActlEffortQty as /cpd/actual_effort)                                  as ActlEffortQty,

  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ActlEffortQtyUpToRevPerd
  else  ActualEffortUpToCurPerd
  end                                                                                      as ActualEffortUpToFsclYrPerd,
  ActualEffortUpToCurPerd,
  ActlEffortQtyUpToRevPerd,


  ActualUnitQty,
  ActlUnitQtyUpToCurPerd                                                                   as ActlUnitUpToCurPerdQty,
  ActlUnitQtyUpToRevPerd                                                                   as ActlUnitUpToRevPerdQty,
  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ActlUnitQtyUpToRevPerd
  else  ActlUnitQtyUpToCurPerd
  end                                                                                      as ActlUnitUpToFsclPerdQty,

  AddlResourceActualQuantity,
  AddlRsceUpToCurPerdActlQty,
  AddlRsceUpToRevPerdActlQty,
  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  AddlRsceUpToRevPerdActlQty
  else AddlRsceUpToCurPerdActlQty
  end                                                                                      as AddlRsceUpToFsclPerdActlQty,



  cast(ProjectReview.ActlCostAmt as /cpd/actual_cost preserving type )                     as ActlCostAmt,
  ActualCostUpToCurPerd,
  ActlCostAmtUpToRevPerd,
  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ActlCostAmtUpToRevPerd
  else ActualCostUpToCurPerd
  end                                                                                      as ActualCostUpToFsclYrPerd,

  ActlCostInCoCodeCrcy,


  ActualExpenseCost,
  ActlExpCostUpToCurPerd,
  ActlExpenseCostUpToRevPerd,

  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ActlExpenseCostUpToRevPerd
  else
  ActlExpCostUpToCurPerd
  end                                                                                      as ActlExpenseCostUpToFsclYrPerd,
  //Plan Details - Current Version

  ProjectReview.PlanUnitQuantity,
  SupplyEffortQty,
  cast(ProjectReview.PlndEffortQty  as   /cpd/planned_effort preserving type )             as PlndEffortQty,
  PlndEffortQtyUpToRevPerd,
  PlndEffortUpToCurPerd,

  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  PlndEffortQtyUpToRevPerd
  else PlndEffortUpToCurPerd
  end                                                                                      as PlndEffortUpToFsclYrPerd,

  cast(ProjectReview.ActualPlanDeviationEffort as  /cpd/effort_deviation preserving type ) as ActualPlanDeviationEffort,

  AddlResourcePlannedQuantity,
  AddlRsceActlPlanDeviationQty,
  AdjustedOthRscePlndQty,


  cast(ProjectReview.PlndCostAmt    as /cpd/plan_cost preserving type )                    as PlndCostAmt,
  cast(ProjectReview.ActualPlanDeviationCost as /cpd/cost_deviation preserving type )      as ActualPlanDeviationCost,


  PlannedEffortCostAmt,
  PlannedCostUpToCurPerd,
  PlndCostAmtUpToRevPerd,
  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  PlndCostAmtUpToRevPerd
  else PlannedCostUpToCurPerd
  end                                                                                      as PlannedCostUpToFsclYrPerd,

  AddlResourcePlannedCostAmount,

  cast(ProjectReview.PlndRevnAmt  as /cpd/plan_revenue preserving type )                   as PlndRevnAmt,
  PlndRevnAmtUpToRevPerd,
  PlannedRevnUpToCurPerd,
  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  PlndRevnAmtUpToRevPerd
  else PlannedRevnUpToCurPerd
  end                                                                                      as PlannedRevnUpToFsclYrPerd,

  PlannedExpenseCost,
  PlndExpenseCostUpToRevPerd,
  PlndExpCostUpToCurPerd,

  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  PlndExpenseCostUpToRevPerd
  else
  PlndExpCostUpToCurPerd
  end                                                                                      as PlndExpenseCostUpToFsclYrPerd,
  ActualPlanDeviationExpnCost,

  // PlannedCostRate,


  //Plan Details - Base Line


  BaselinePlndEffortQty,
  BaselinePlannedQuantity,


  BaselinePlndCostAmt,
  BaselinePlndRevnAmt,

  AdjustedRemainingEffort,
  AdjustedRemngEffortToFsclPerd,

  AdjustedRemainingEffortCost,
  AdjstdRemngEffortCstToFsclPerd,
  AdjustedRemainingExpnCost,


  AdjustedRemainingCostPlnAmt,

  AddlRsceEstToCmpltQty,

  AddlRsceEstToCmpltCostAmount,

  EstToCmpltCostUpToCurPerd,
  EstToCmpltCostUpToRevPerd,
  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ProjectReview.EstToCmpltCostUpToRevPerd
  else
  ProjectReview.EstToCmpltCostUpToCurPerd
  end                                                                                      as EstToCmpltUpToFsclPerdAmt,


  AddlRsceEtcUpToCurPerdQty,
  AddlRsceEtcUpToRevPerdQty,
  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ProjectReview.AddlRsceEtcUpToRevPerdQty
  else
  ProjectReview.AddlRsceEtcUpToCurPerdQty
  end                                                                                      as AddlRsceEstToCmpltUpToFsclQty,

  AddlRsceEtcCostUpToRevPerdAmt,
  AddlRsceEtcCostUpToCurPerdAmt,

  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ProjectReview.AddlRsceEtcCostUpToRevPerdAmt
  else
  ProjectReview.AddlRsceEtcCostUpToCurPerdAmt
  end                                                                                      as AddlRsceEstToCmpltUpToFsclAmt,

  EstToCmpltEffortUpToRevPerd,
  EstToCmpltEffortUpToCurPerd,
  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ProjectReview.EstToCmpltEffortUpToRevPerd
  else
  ProjectReview.EstToCmpltEffortUpToCurPerd
  end                                                                                      as EstToCmpltUpToFsclPerdQty,

  EstToCmpltEffCostUpToCurPerd,
  EstToCmpltEffCostUpToRevPerd,

  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ProjectReview.EstToCmpltEffCostUpToRevPerd
  else
  ProjectReview.EstToCmpltEffCostUpToCurPerd
  end                                                                                      as EstToCmpltEffUpToFsclPerdAmt,

  EstToCmpltExpnCostUpToCurPerd,
  EstToCmpltExpnCostUpToRevPerd,

  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ProjectReview.EstToCmpltExpnCostUpToRevPerd
  else
  ProjectReview.EstToCmpltExpnCostUpToCurPerd
  end                                                                                      as EstToCmpltExpnUpToFsclPerdAmt,


  EstimateAtCompletionCost,
  EstAtCompltnCostUpToCurPerd,
  EstAtCompltnCostUpToRevPerd,
  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ProjectReview.EstAtCompltnCostUpToRevPerd
  else
  ProjectReview.EstAtCompltnCostUpToCurPerd
  end                                                                                      as EstAtCompltnUpToFsclPerdAmt,

  EstAtCompltnEffortUpToCurPerd,
  EstAtCompltnEffortUpToRevPerd,
  EstimateAtCompletionEffort,
  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ProjectReview.EstAtCompltnEffortUpToRevPerd
  else
  ProjectReview.EstAtCompltnEffortUpToCurPerd
  end                                                                                      as EstAtCmpltUpToFsclPerdQty,

  AddlRsceEstAtCompltnQty,

  EstimateAtCompletionExpnCost,
  EstAtCmpltExpnCostUpToCurPerd                                                            as EstAtCmpltExpnUpToCurPerdAmt,
  EstAtCmpltExpnCostUpToRevPerd                                                            as EstAtCmpltExpnUpToRevPerdAmt,

  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ProjectReview.EstAtCmpltExpnCostUpToRevPerd
  else
  ProjectReview.EstAtCmpltExpnCostUpToCurPerd
  end                                                                                      as EstAtCmpltExpnUpToFsclPerdAmt,

  DerivedEstAtCompltnCostUpToCur,
  DerivedEstAtCompltnCostUpToRev,

  case when ProjectReview.EngmntProjReviewYearPeriod = :P_FiscalYearPeriod
  then
  ProjectReview.DerivedEstAtCompltnCostUpToRev
  else
  ProjectReview.DerivedEstAtCompltnCostUpToCur
  end                                                                                      as DerivdEstAtCompltnUpToFsclAmt,

  CompltnRateInPctUpToCurPerd,
  CompltnRateInPctUpToRevPerd,

  PlndMarginPct,

  // Filter Push Down Characterstics

  ProjectReview.IsMyProject,
  ProjectManagerExternalID,
  ProjectAccountantExternalID,
  ProjectControllerExternalID,
  ProjectPartnerExternalID                                                                 as ProjectPartnerExternalID,
  ProjectReview.ProjectManager,
  ProjectAccountant,
  ProjectController,
  Projectpartner                                                                           as ProjectPartner,
  ProjectManagerName,
  ProjectAccountantName,
  ProjectControllerName,
  ProjectPartnerName                                                                       as ProjectPartnerName,
  ProjectReview.Ledger                                                                     as Ledger,
  ProjectReview.ProjectProfileCode,
  ProjectReview.EngmntProjectHeaderCompanyCode,
  ProjectReview.EngagementProjectCostCenter,
  ProjectReview.ProfitCenter
}
union all select from    I_EngmntProjAssgmtToSessionUsr as EngagementProject

  inner join             I_EngagementProjectItem        as B                on  EngagementProject.EngagementProject = B.EngagementProject
                                                                            and B.EngagementProjectItemType         = '0SOH'

  left outer join        I_Customer                     as Customer         on EngagementProject.Customer = Customer.Customer
//  left outer join        I_WorkPackageAll          as WorkPackage      on EngagementProject.EngagementProjFinPlanUUID = WorkPackage.EngagementProjFinPlanUUID


  left outer to one join I_FiscalYearPeriod             as FiscalYearPeriod on  EngagementProject.EngmntProjReviewYearPeriod = FiscalYearPeriod.FiscalYearPeriod
                                                                            and FiscalYearPeriod.FiscalYearVariant           = 'K4'


  left outer join        I_SalesDocumentItemBasic       as SalesOrderItem   on  B.EngagementProjectItem = SalesOrderItem.SalesDocument
                                                                            and SalesOrderItem.SalesDocumentRjcnReason is initial //Exclude rejected SO Items from "Revenue Sold"

                                                                                                                          
  left outer join        I_WBSElementBasicData          as WBSElement       on SalesOrderItem.WBSElement = WBSElement.WBSElementInternalID

  inner join             I_Ledger                       as Ledger           on Ledger.IsLeadingLedger = 'X'

{
  cast(EngagementProject.EngagementProject as /cpd/project preserving type )  as EngagementProject,

  EngagementProject.EngagementProjectUUID,

  EngagementProject.ProjectStartDate                                          as ProjectStartDate,

  EngagementProject.ProjectEndDate                                            as ProjectEndDate,

  //  EngagementProject.EngagementProjectName,


  EngagementProject.ProjectVisibility,

  EngagementProject.Customer                                                  as Customer,

  Customer.BPCustomerName                                                     as CustomerName,
  Customer.AddressID,
  Customer.IsBusinessPurposeCompleted,

  EngagementProject.EngagementProjectStage                                    as EngagementProjectStage,

  EngagementProject.EngagementProjectCategory                                 as EngagementProjectCategory,

  EngagementProject.EngagementProjectServiceOrg                               as EngagementProjectServiceOrg,

  EngagementProject.EngagementProjectType                                     as EngagementProjectType,

  cast( EngagementProject.LastChangeDateTime as /cpd/sc_changedon )           as ProjectLastChangedDateTime,

  EngagementProject.EngagementProjFinPlanUUID,

  cast('1' as abap.char(1))                                                   as EngmtProjFinPlanVersion,

  EngagementProject.EngmntProjReviewYearPeriod,

  EngagementProject.EngagementProjectReviewStatus,

  FiscalYearPeriod.FiscalYearVariant                                          as FiscalYearVariant,

  cast(FiscalYearPeriod.FiscalYear   as /cpd/review_year  preserving type )   as EngmntProjReviewYear,

  cast(FiscalYearPeriod.FiscalPeriod  as /cpd/review_period preserving type ) as EngmntProjReviewPeriod,


  SalesOrderItem.SalesDocument                                                as SalesOrder,

  SalesOrderItem.SalesDocumentItem                                            as SalesOrderItem,

  SalesOrderItem.SalesDocumentItemCategory,

  SalesOrderItem.SalesDocumentItemText,

  SalesOrderItem.TransactionCurrency,



  cast ( WBSElement.WBSElement as /cpd/workpackage)                           as WorkPackage,

  cast('' as  /cpd/workitem )                                                 as WorkItem,

  WBSElement.WBSDescription                                                   as WorkPackageName,

  'X'                                                                         as WBSElementIsBillingElement,

  ''                                                                          as WorkPackageType,

  ''                                                                          as WorkPackageStartDate,

  ''                                                                          as WorkPackageEndDate,

  ''                                                                          as IsDeleted,

  // ''                                                                          as WorkPackageUnit,


  ''                                                                          as IsUnitBased,

  0                                                                           as ResourceIsOfUnitWorkPackage,

  ''                                                                          as EngmntProjectDeliveryOrg,

  ''                                                                          as EngagementProjectResourceType,

  ''                                                                          as EngagementProjectResource,


  EngagementProject.Currency                                                  as Currency,

  cast('' as co_meinh)                                                        as UnitOfMeasure,


  SalesOrderItem.NetAmount                                                    as TotalNetAmount,


  0                                                                           as ActlEffortQty,
  0                                                                           as ActualEffortUpToFsclYrPerd,
  0                                                                           as ActualEffortUpToCurPerd,
  0                                                                           as ActlEffortQtyUpToRevPerd,


  0                                                                           as ActualUnitQty,
  0                                                                           as ActlUnitUpToCurPerdQty,
  0                                                                           as ActlUnitUpToRevPerdQty,
  0                                                                           as ActlUnitUpToFsclPerdQty,

  0                                                                           as AddlResourceActualQuantity,
  0                                                                           as AddlRsceUpToCurPerdActlQty,
  0                                                                           as AddlRsceUpToRevPerdActlQty,
  0                                                                           as AddlRsceUpToFsclPerdActlQty,


  0                                                                           as ActlCostAmt,
  0                                                                           as ActualCostUpToCurPerd,
  0                                                                           as ActlCostAmtUpToRevPerd,
  0                                                                           as ActualCostUpToFsclYrPerd,

  0                                                                           as ActlCostInCoCodeCrcy,


  0                                                                           as ActualExpenseCost,
  0                                                                           as ActlExpCostUpToCurPerd,
  0                                                                           as ActlExpenseCostUpToRevPerd,
  0                                                                           as ActlExpenseCostUpToFsclYrPerd,

  //Plan Details - Current Version

  0                                                                           as PlanUnitQuantity,
  0                                                                           as SupplyEffortQty,
  0                                                                           as PlndEffortQty,
  0                                                                           as PlndEffortQtyUpToRevPerd,
  0                                                                           as PlndEffortUpToCurPerd,
  0                                                                           as PlndEffortUpToFsclYrPerd,
  0                                                                           as ActualPlanDeviationEffort,

  0                                                                           as AddlResourcePlannedQuantity,
  0                                                                           as AddlRsceActlPlanDeviationQty,
  0                                                                           as AdjustedOthRscePlndQty,


  0                                                                           as PlndCostAmt,
  0                                                                           as ActualPlanDeviationCost,


  0                                                                           as PlannedEffortCostAmt,
  0                                                                           as PlannedCostUpToCurPerd,
  0                                                                           as PlndCostAmtUpToRevPerd,
  0                                                                           as PlannedCostUpToFsclYrPerd,

  0                                                                           as AddlResourcePlannedCostAmount,

  0                                                                           as PlndRevnAmt,
  0                                                                           as PlndRevnAmtUpToRevPerd,
  0                                                                           as PlannedRevnUpToCurPerd,
  0                                                                           as PlannedRevnUpToFsclYrPerd,

  0                                                                           as PlannedExpenseCost,
  0                                                                           as PlndExpenseCostUpToRevPerd,
  0                                                                           as PlndExpCostUpToCurPerd,
  0                                                                           as PlndExpenseCostUpToFsclYrPerd,
  0                                                                           as ActualPlanDeviationExpnCost,

  // 0                                                                           as PlannedCostRate,


  //Plan Details - Base Line


  0                                                                           as BaselinePlndEffortQty,
  0                                                                           as BaselinePlannedQuantity,


  0                                                                           as BaselinePlndCostAmt,
  0                                                                           as BaselinePlndRevnAmt,

  0                                                                           as AdjustedRemainingEffort,
  0                                                                           as AdjustedRemngEffortToFsclPerd,

  0                                                                           as AdjustedRemainingEffortCost,
  0                                                                           as AdjstdRemngEffortCstToFsclPerd,
  0                                                                           as AdjustedRemainingExpnCost,


  0                                                                           as AdjustedRemainingCostPlnAmt,

  0                                                                           as AddlRsceEstToCmpltQty,

  0                                                                           as AddlRsceEstToCmpltCostAmount,

  0                                                                           as EstToCmpltCostUpToCurPerd,
  0                                                                           as EstToCmpltCostUpToRevPerd,
  0                                                                           as EstToCmpltUpToFsclPerdAmt,

  0                                                                           as AddlRsceEtcUpToCurPerdQty,
  0                                                                           as AddlRsceEtcUpToRevPerdQty,
  0                                                                           as AddlRsceEstToCmpltUpToFsclQty,

  0                                                                           as AddlRsceEtcCostUpToRevPerdAmt,
  0                                                                           as AddlRsceEtcCostUpToCurPerdAmt,
  0                                                                           as AddlRsceEstToCmpltUpToFsclAmt,

  0                                                                           as EstToCmpltEffortUpToRevPerd,
  0                                                                           as EstToCmpltEffortUpToCurPerd,
  0                                                                           as EstToCmpltUpToFsclPerdQty,

  0                                                                           as EstToCmpltEffCostUpToCurPerd,
  0                                                                           as EstToCmpltEffCostUpToRevPerd,
  0                                                                           as EstToCmpltEffUpToFsclPerdAmt,

  0                                                                           as EstToCmpltExpnCostUpToCurPerd,
  0                                                                           as EstToCmpltExpnCostUpToRevPerd,
  0                                                                           as EstToCmpltExpnUpToFsclPerdAmt,



  0                                                                           as EstimateAtCompletionCost,
  0                                                                           as EstAtCompltnCostUpToCurPerd,
  0                                                                           as EstAtCompltnCostUpToRevPerd,
  0                                                                           as EstAtCompltnUpToFsclPerdAmt,


  0                                                                           as EstAtCompltnEffortUpToCurPerd,
  0                                                                           as EstAtCompltnEffortUpToRevPerd,
  0                                                                           as EstimateAtCompletionEffort,
  0                                                                           as EstAtCmpltUpToFsclPerdQty,

  0                                                                           as AddlRsceEstAtCompltnQty,

  0                                                                           as EstimateAtCompletionExpnCost,
  0                                                                           as EstAtCmpltExpnUpToCurPerdAmt,
  0                                                                           as EstAtCmpltExpnUpToRevPerdAmt,
  0                                                                           as EstAtCmpltExpnUpToFsclPerdAmt,

  0                                                                           as DerivedEstAtCompltnCostUpToCur,
  0                                                                           as DerivedEstAtCompltnCostUpToRev,
  0                                                                           as DerivdEstAtCompltnUpToFsclAmt,

  0                                                                           as CompltnRateInPctUpToCurPerd,
  0                                                                           as CompltnRateInPctUpToRevPerd,

  0                                                                           as PlndMarginPct,

  // Filter Push Down Characterstics

  EngagementProject.IsMyProject,
  ProjectManagerExternalID,
  ProjectAccountantExternalID,
  ProjectControllerExternalID,
  ProjectPartnerExternalID                                                    as ProjectPartnerExternalID,
  ProjManagerUserID                                                           as ProjectManager,
  ProjAccountantUserID                                                        as ProjectAccountant,
  ProjControllerUserID                                                        as ProjectController,
  ProjPartnerUserID                                                           as ProjectPartner,
  ProjectManagerName,
  ProjectAccountantName,
  ProjectControllerName,
  ProjectPartnerName                                                          as ProjectPartnerName,
  Ledger.Ledger                                                               as Ledger,
  EngagementProject.ProjectProfileCode,
  EngagementProject.EngmntProjectHeaderCompanyCode,
  EngagementProject.EngagementProjectCostCenter,
  EngagementProject.ProfitCenter
}