C_CustomerProjectWl
Customer Project
C_CustomerProjectWl is a Consumption CDS View that provides data about "Customer Project" in SAP S/4HANA. It reads from 2 data sources (I_EngagementProject, I_PersonWorkAgreement_1) and exposes 25 fields with key field CustomerProject. It has 9 associations to related views. Part of development package CPD_CDS.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_EngagementProject | CustomerProject | from |
| I_PersonWorkAgreement_1 | PersonWorkAgreement | left_outer |
Associations (9)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_Customer_VH | _Customer | $projection.Customer = _Customer.Customer |
| [0..1] | I_EngagementProjectStage | _EngagementProjectStage | $projection.EngagementProjectStage = _EngagementProjectStage.EngagementProjectStage |
| [0..1] | I_EngmntProjSrvcOrgStdVH | _EngagementProjectServiceOrg | $projection.EngagementProjectServiceOrg = _EngagementProjectServiceOrg.EngagementProjectServiceOrg |
| [0..1] | I_CostCenterStdVH | _CostCenter | $projection.ControllingArea = _CostCenter.ControllingArea and $projection.CostCenter = _CostCenter.CostCenter and $projection.ProjectStartDate >= _CostCenter.ValidityStartDate and $projection.ProjectStartDate <= _CostCenter.ValidityEndDate |
| [0..1] | I_ProfitCenterStdVH | _ProfitCenter | $projection.ControllingArea = _ProfitCenter.ControllingArea and $projection.CostCenter = _ProfitCenter.ProfitCenter |
| [0..1] | C_EngmntProjProjectManagerVH | _ProjectManager | $projection.ProjectManager = _ProjectManager.ProjectManager |
| [0..1] | C_EngagementProjectUserVH | _CreatedByUser | $projection.CreatedByUser = _CreatedByUser.UserID |
| [0..1] | C_EngagementProjectUserVH | _LastChangedByUser | $projection.LastChangedByUser = _LastChangedByUser.UserID |
| [0..*] | C_EngmntProjStaffedMbrDetail | _TeamMember | $projection.CustomerProject = _TeamMember.EngagementProject |
Annotations (18)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.sqlViewName | CCUSTPROJWL | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| VDM.viewType | #CONSUMPTION | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| ObjectModel.representativeKey | CustomerProject | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| Search.searchable | true | view | |
| EndUserText.label | Customer Project | view | |
| UI.headerInfo.typeName | Customer Project | view | |
| UI.headerInfo.typeNamePlural | Customer Projects | view | |
| UI.headerInfo.title.type | #STANDARD | view | |
| UI.headerInfo.title.value | CustomerProject | view | |
| VDM.lifecycle.status | #DEPRECATED | view |
Fields (25)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CustomerProject | |||
| CustomerProjectName | ||||
| EngagementProjectType | I_EngagementProject | EngagementProjectType | ||
| EngagementProjectStage | I_EngagementProject | EngagementProjectStage | ||
| CostCenter | ||||
| ControllingArea | I_EngagementProject | ControllingArea | ||
| EngagementProjectServiceOrg | I_EngagementProject | EngagementProjectServiceOrg | ||
| ProfitCenter | I_EngagementProject | ProfitCenter | ||
| Customer | I_EngagementProject | Customer | ||
| LastChangeDateTime | ||||
| LastChangedByUser | I_EngagementProject | LastChangedByUser | ||
| CreatedByUser | I_EngagementProject | CreatedByUser | ||
| CreationDateTime | ||||
| ProjectManager | ||||
| ProjectStartDate | I_EngagementProject | ProjectStartDate | ||
| ProjectEndDate | I_EngagementProject | ProjectEndDate | ||
| EngagementProjectCategory | I_EngagementProject | EngagementProjectCategory | ||
| _Customer | _Customer | |||
| _CostCenter | _CostCenter | |||
| _ProjectManager | _ProjectManager | |||
| _TeamMember | _TeamMember | |||
| _EngagementProjectStage | _EngagementProjectStage | |||
| _CreatedByUser | _CreatedByUser | |||
| _LastChangedByUser | _LastChangedByUser | |||
| _EngagementProjectServiceOrg | _EngagementProjectServiceOrg |
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'CCUSTPROJWL'
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #CONSUMPTION
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ObjectModel.representativeKey: 'CustomerProject'
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@Search.searchable: true
@EndUserText.label: 'Customer Project'
@UI.headerInfo: {
typeName: 'Customer Project',
typeNamePlural: 'Customer Projects',
title: {
type: #STANDARD,
value: 'CustomerProject'
}
}
@VDM.lifecycle.status: #DEPRECATED
/* As of 2302 release, this view is deprecated. Please do not use this view. */
define view C_CustomerProjectWl
as select from I_EngagementProject as CustomerProject
left outer join I_PersonWorkAgreement_1 as PersonWorkAgreement on CustomerProject.ProjectManager = PersonWorkAgreement.PersonWorkAgreement
association [0..1] to I_Customer_VH as _Customer on $projection.Customer = _Customer.Customer
association [0..1] to I_EngagementProjectStage as _EngagementProjectStage on $projection.EngagementProjectStage = _EngagementProjectStage.EngagementProjectStage
association [0..1] to I_EngmntProjSrvcOrgStdVH as _EngagementProjectServiceOrg on $projection.EngagementProjectServiceOrg = _EngagementProjectServiceOrg.EngagementProjectServiceOrg
association [0..1] to I_CostCenterStdVH as _CostCenter on $projection.ControllingArea = _CostCenter.ControllingArea
and $projection.CostCenter = _CostCenter.CostCenter
and $projection.ProjectStartDate >= _CostCenter.ValidityStartDate
and $projection.ProjectStartDate <= _CostCenter.ValidityEndDate
association [0..1] to I_ProfitCenterStdVH as _ProfitCenter on $projection.ControllingArea = _ProfitCenter.ControllingArea
and $projection.CostCenter = _ProfitCenter.ProfitCenter
association [0..1] to C_EngmntProjProjectManagerVH as _ProjectManager on $projection.ProjectManager = _ProjectManager.ProjectManager
association [0..1] to C_EngagementProjectUserVH as _CreatedByUser on $projection.CreatedByUser = _CreatedByUser.UserID
association [0..1] to C_EngagementProjectUserVH as _LastChangedByUser on $projection.LastChangedByUser = _LastChangedByUser.UserID
association [0..*] to C_EngmntProjStaffedMbrDetail as _TeamMember on $projection.CustomerProject = _TeamMember.EngagementProject
{
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.9
@Search.ranking: #HIGH
@ObjectModel.readOnly: true
@Consumption.semanticObject: 'CustomerProject'
@ObjectModel.text.element: 'CustomerProjectName'
key cast(CustomerProject.EngagementProject as /cpd/ss_cp preserving type ) as CustomerProject,
@Semantics.text: true
// @Search.defaultSearchElement: true
// @Search.fuzzinessThreshold: 0.9
cast (CustomerProject.EngagementProjectName as /cpd/ss_cp_desc preserving type ) as CustomerProjectName,
@UI.hidden: true
CustomerProject.EngagementProjectType as EngagementProjectType,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@ObjectModel.foreignKey.association: '_EngagementProjectStage'
CustomerProject.EngagementProjectStage as EngagementProjectStage,
// @Search.defaultSearchElement: true
// @Search.fuzzinessThreshold: 0.8
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_CostCenterStdVH',
element: 'CostCenter' },
additionalBinding: [{ localElement: 'ControllingArea',
element: 'ControllingArea' }]
}]
@ObjectModel.foreignKey.association: '_CostCenter'
cast(CustomerProject.CostCenter as kostl ) as CostCenter,
@UI.hidden: true
CustomerProject.ControllingArea as ControllingArea,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_EngmntProjSrvcOrgStdVH',
element: 'EngagementProjectServiceOrg' }
}]
@ObjectModel.foreignKey.association: '_EngagementProjectServiceOrg'
CustomerProject.EngagementProjectServiceOrg as EngagementProjectServiceOrg,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_ProfitCenterStdVH',
element: 'ProfitCenter' },
additionalBinding: [{ localElement: 'ControllingArea',
element: 'ControllingArea' }]
}]
CustomerProject.ProfitCenter as ProfitCenter,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_Customer_VH',
element: 'Customer' }
}]
@ObjectModel.foreignKey.association: '_Customer'
CustomerProject.Customer as Customer,
@Semantics.systemDateTime.lastChangedAt: true
cast (CustomerProject.LastChangeDateTime as tstmp ) as LastChangeDateTime,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@ObjectModel.foreignKey.association: '_LastChangedByUser'
CustomerProject.LastChangedByUser as LastChangedByUser,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@ObjectModel.foreignKey.association: '_CreatedByUser'
CustomerProject.CreatedByUser as CreatedByUser,
@Semantics.systemDateTime.createdAt: true
cast (CustomerProject.CreationDateTime as tstmp ) as CreationDateTime,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@ObjectModel.foreignKey.association: '_ProjectManager'
@Consumption.valueHelpDefinition: [
{ entity: { name: 'C_EngmntProjProjectManagerVH',
element: 'ProjectManager' }
}]
cast(PersonWorkAgreement.Person as /cpd/ss_pm preserving type ) as ProjectManager,
CustomerProject.ProjectStartDate as ProjectStartDate,
CustomerProject.ProjectEndDate as ProjectEndDate,
@UI.hidden: true
CustomerProject.EngagementProjectCategory as EngagementProjectCategory,
_Customer,
_CostCenter,
_ProjectManager,
_TeamMember,
_EngagementProjectStage,
_CreatedByUser,
_LastChangedByUser,
_EngagementProjectServiceOrg
}
where
CustomerProject.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