C_CustomerProject
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.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_EngagementProject | EngagementProject | from |
Associations (6)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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'
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA