C_CustomerProject

DDL: C_CUSTOMERPROJECT SQL: CCUSTOMERPROJECT Type: view CONSUMPTION Package: CPD_CDS

Customer Project

C_CustomerProject is a Consumption CDS View that provides data about "Customer Project" in SAP S/4HANA. It reads from 1 data source (I_EngagementProject) and exposes 39 fields with key field CustomerProject. It has 6 associations to related views. Part of development package CPD_CDS.

Data Sources (1)

SourceAliasJoin Type
I_EngagementProject EngagementProject from

Associations (6)

CardinalityTargetAliasCondition
[0..*] C_WorkPackage _WorkPackage $projection.EngagementProjFinPlanUUID = _WorkPackage.EngagementProjFinPlanUUID
[0..1] I_EngagementProjectRole _ProjectController $projection.CustomerProject = _ProjectController.EngagementProject and _ProjectController.EngagementProjectTeamRole = 'P003'
[0..1] I_EngagementProjectRole _ProjectAccountant $projection.CustomerProject = _ProjectAccountant.EngagementProject and _ProjectAccountant.EngagementProjectTeamRole = 'P002'
[0..1] I_EngagementProjectRole _ProjectPartner $projection.CustomerProject = _ProjectPartner.EngagementProject and _ProjectPartner.EngagementProjectTeamRole = 'P004'
[0..1] E_CustomerProject _Extension $projection.CustomerProject = _Extension.CustomerProject
[0..*] I_PersnWrkAgreementDet _PersonWorkAgreement $projection.ProjectManagerWorkAgreement = _PersonWorkAgreement.PersonWorkAgreement

Annotations (9)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
AbapCatalog.sqlViewName CCUSTOMERPROJECT view
EndUserText.label Customer Project view
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view

Fields (39)

KeyFieldSource TableSource FieldDescription
KEY CustomerProject I_EngagementProject EngagementProject
CustomerProjectUUID I_EngagementProject EngagementProjectUUID
EngagementProjFinPlanUUID _EngagementProjFinancialPlan EngagementProjFinPlanUUID
ProjectVisibility I_EngagementProject ProjectVisibility
CustomerProjectType I_EngagementProject EngagementProjectType
CustomerProjectStage I_EngagementProject EngagementProjectStage
CompanyCode I_EngagementProject CompanyCode
ProjectProfileCode I_EngagementProject ProjectProfileCode
ControllingArea I_EngagementProject ControllingArea
CostCenter I_EngagementProject CostCenter
CustomerProjectServiceOrg I_EngagementProject EngagementProjectServiceOrg
EngagementProjectCategory I_EngagementProject EngagementProjectCategory
ProfitCenter I_EngagementProject ProfitCenter
CustomerProjectName I_EngagementProject EngagementProjectName
Customer I_EngagementProject Customer
LastChangeDateTime I_EngagementProject LastChangeDateTime
LastChangedByUser I_EngagementProject LastChangedByUser
ProjectManager I_EngagementProject ProjectManager
ProjectManagerWorkAgreement I_EngagementProject ProjectManagerWorkAgreement
ProjectStartDate I_EngagementProject ProjectStartDate
ProjectEndDate I_EngagementProject ProjectEndDate
Currency EngagementProjectPlanData Currency
PlndCostAmt EngagementProjectPlanData PlndCostAmt
PlndEffortQty EngagementProjectPlanData PlndEffortQty
PlndRevnAmt EngagementProjectPlanData PlndRevnAmt
IsMyProject MyProjects IsMyProject
_ControllingArea _ControllingArea
_CostCenter _CostCenter
_ProfitCenter _ProfitCenter
_Customer _Customer
_EngagementProjectItem _EngagementProjectItem
_PersonWorkAgreement _PersonWorkAgreement
_ProjectController _ProjectController
_ProjectAccountant _ProjectAccountant
_ProjectPartner _ProjectPartner
_EngagementProjectServiceOrg _EngagementProjectServiceOrg
_EngagementProjectStage _EngagementProjectStage
_EngagementProjFinancialPlan _EngagementProjFinancialPlan
_WorkPackage _WorkPackage
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@AbapCatalog.sqlViewName: 'CCUSTOMERPROJECT'
@EndUserText.label: 'Customer Project'
@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck:#CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
define view C_CustomerProject
  as select from           I_EngagementProject         as EngagementProject


    left outer to one join C_EngagementProjectPlanData as EngagementProjectPlanData on EngagementProjectPlanData.EngagementProject = EngagementProject.EngagementProject
    left outer to one join P_ProjectsWthMyInvlmnt      as MyProjects                on MyProjects.EngagementProject = EngagementProject.EngagementProject
    
  //replacing C_WorkpackageDetails with C_WorkPackage as of 2302 release..

  association [0..*] to C_WorkPackage           as _WorkPackage         on  $projection.EngagementProjFinPlanUUID = _WorkPackage.EngagementProjFinPlanUUID
  association [0..1] to I_EngagementProjectRole as _ProjectController   on  $projection.CustomerProject                  = _ProjectController.EngagementProject
                                                                        and _ProjectController.EngagementProjectTeamRole = 'P003'
  association [0..1] to I_EngagementProjectRole as _ProjectAccountant   on  $projection.CustomerProject                  = _ProjectAccountant.EngagementProject
                                                                        and _ProjectAccountant.EngagementProjectTeamRole = 'P002'
  association [0..1] to I_EngagementProjectRole as _ProjectPartner      on  $projection.CustomerProject               = _ProjectPartner.EngagementProject
                                                                        and _ProjectPartner.EngagementProjectTeamRole = 'P004'
  association [0..1] to E_CustomerProject       as _Extension           on  $projection.CustomerProject = _Extension.CustomerProject


  association [0..*] to I_PersnWrkAgreementDet  as _PersonWorkAgreement on  $projection.ProjectManagerWorkAgreement = _PersonWorkAgreement.PersonWorkAgreement
{
  key EngagementProject.EngagementProject                    as CustomerProject,
      EngagementProject.EngagementProjectUUID                as CustomerProjectUUID,
      _EngagementProjFinancialPlan.EngagementProjFinPlanUUID as EngagementProjFinPlanUUID,
      EngagementProject.ProjectVisibility                    as ProjectVisibility,
      EngagementProject.EngagementProjectType                as CustomerProjectType,
      EngagementProject.EngagementProjectStage               as CustomerProjectStage,
      EngagementProject.CompanyCode                          as CompanyCode,
      EngagementProject.ProjectProfileCode                   as ProjectProfileCode,
      EngagementProject.ControllingArea                      as ControllingArea,
      //--[ GENERATED:012:GlBfhyJl7kY4nNBXcDIuRm

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_CostCenterStdVH',
                     element: 'CostCenter' },
          additionalBinding: [{ localElement: 'ControllingArea',
                                element: 'ControllingArea' }]
        }]
      // ]--GENERATED

      EngagementProject.CostCenter                           as CostCenter,
      //--[ GENERATED:012:GlBfhyJl7kY4nNBXcDIuRm

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_EngmntProjSrvcOrgStdVH',
                     element: 'EngagementProjectServiceOrg' }
        }]
      // ]--GENERATED

      EngagementProject.EngagementProjectServiceOrg          as CustomerProjectServiceOrg,
      EngagementProject.EngagementProjectCategory            as EngagementProjectCategory,
      //--[ GENERATED:012:GlBfhyJl7kY4nNBXcDIuRm

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_ProfitCenterStdVH',
                     element: 'ProfitCenter' },
          additionalBinding: [{ localElement: 'ControllingArea',
                                element: 'ControllingArea' }]
        }]
      // ]--GENERATED

      EngagementProject.ProfitCenter                         as ProfitCenter,
      EngagementProject.EngagementProjectName                as CustomerProjectName,
      //--[ GENERATED:012:GlBfhyJl7kY4nNBXcDIuRm

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_Customer_VH',
                     element: 'Customer' }
        }]
      // ]--GENERATED

      EngagementProject.Customer                             as Customer,
      @Semantics.dateTime:true
      @Semantics.systemDateTime.lastChangedAt:true
      EngagementProject.LastChangeDateTime                   as LastChangeDateTime,
      EngagementProject.LastChangedByUser                    as LastChangedByUser,
       @VDM.lifecycle.status: #DEPRECATED
       @VDM.lifecycle.successor: 'ProjectManagerWorkAgreement'      
      EngagementProject.ProjectManager                       as ProjectManager,
      EngagementProject.ProjectManagerWorkAgreement          as ProjectManagerWorkAgreement,      
      EngagementProject.ProjectStartDate                     as ProjectStartDate,      
      EngagementProject.ProjectEndDate                       as ProjectEndDate,
      
      @Semantics.currencyCode: true
      EngagementProjectPlanData.Currency                     as Currency,

      @Semantics.amount.currencyCode:'Currency'
      EngagementProjectPlanData.PlndCostAmt                  as PlndCostAmt,
      
      EngagementProjectPlanData.PlndEffortQty                as PlndEffortQty,
      
      @Semantics.amount.currencyCode:'Currency'
      EngagementProjectPlanData.PlndRevnAmt                  as PlndRevnAmt,
      MyProjects.IsMyProject                                 as IsMyProject,

      _ControllingArea,
      _CostCenter,
      _ProfitCenter,
      _Customer,
      _EngagementProjectItem,
      //need to adapt after i_engagementproject is active

      _PersonWorkAgreement,
      _ProjectController,
      _ProjectAccountant,
      _ProjectPartner,
      _EngagementProjectServiceOrg,
      _EngagementProjectStage,
      _EngagementProjFinancialPlan,
      _WorkPackage
      //  _Employment

}
where
  EngagementProject.EngagementProjectCategory = 'C'