C_EntProjCtrlProfnlSrvcTP
Project Control Profnl Services Projects
C_EntProjCtrlProfnlSrvcTP is a Consumption CDS View that provides data about "Project Control Profnl Services Projects" in SAP S/4HANA. It reads from 1 data source (I_EnterpriseProjectTP_2) and exposes 38 fields with key field ProjectUUID. It has 8 associations to related views. It is exposed through 1 OData service (UI_ENTPROJCTRLPROFNLSRVC).
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_EnterpriseProjectTP_2 | I_EnterpriseProjectTP_2 | projection |
Associations (8)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | C_EntProjMemberContactCard | _ProjectManager | _ProjectManager.BusinessPartnerUUID = $projection.businesspartneruuid |
| [0..1] | C_EntProjCustomerContactCard | _Customer | _Customer.Customer = $projection.customer |
| [0..1] | C_EntProjCostCtrCntctCard | _CostCenter | _CostCenter.ControllingArea = $projection.ControllingArea and _CostCenter.CostCenter = $projection.CostCenter |
| [0..1] | C_EntProjSrvcOrgCntctCard | _ServiceOrganization | _ServiceOrganization.EnterpriseProjectServiceOrg = $projection.EnterpriseProjectServiceOrg |
| [0..1] | C_EntProjPrftCtrCntctCard | _ProfitCenterContactCard | _ProfitCenterContactCard.ControllingArea = $projection.ControllingArea and _ProfitCenterContactCard.ProfitCenter = $projection.ProfitCenter |
| [1..*] | C_EnterpriseProjectEntitlement | _EnterpriseProjectEntitlement | _EnterpriseProjectEntitlement.ProjectUUID = $projection.ProjectUUID |
| [0..*] | C_EntProjProfnlSrvcBillgElmnt | _EntProjProfnlSrvcBillgElmnt | _EntProjProfnlSrvcBillgElmnt.ProjectUUID = $projection.ProjectUUID |
| [0..*] | C_EntProjProfnlSrvcBillgDoc | _EntProjProfnlSrvcBillgDoc | _EntProjProfnlSrvcBillgDoc.ProjectUUID = $projection.ProjectUUID |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| VDM.viewType | #CONSUMPTION | view | |
| EndUserText.label | Project Control Profnl Services Projects | view | |
| Metadata.allowExtensions | true | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_ENTPROJCTRLPROFNLSRVC | UI_ENTPROJCTRLPROFNLSRVC | V4 | C1 | NOT_RELEASED |
Fields (38)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectUUID | ProjectUUID | ||
| Project | Project | |||
| char40 | ||||
| ProjectName | ProjectDescription | |||
| ProjectInternalID | ProjectInternalID | |||
| EnterpriseProjectServiceOrg | EnterpriseProjectServiceOrg | |||
| CostCenter | ResponsibleCostCenter | |||
| ProfitCenter | ProfitCenter | |||
| ProjectStartDate | ProjectStartDate | |||
| ProjectEndDate | ProjectEndDate | |||
| ProjectCurrency | ProjectCurrency | |||
| ProcessingStatus | ProcessingStatus | |||
| ProjectProfileCode | ProjectProfileCode | |||
| EntProjectIsConfidential | EntProjectIsConfidential | |||
| CompanyCode | CompanyCode | |||
| ControllingArea | ControllingArea | |||
| ProjectCategory | ProjectCategory | |||
| ProjectLastChangedDateTime | ProjectLastChangedDateTime | |||
| BusinessSolutionOrder | ||||
| BusinessSolutionOrderItem | ||||
| BusinessPartnerUUID | ||||
| Customer | _CustomerToBusinessPartner | Customer | ||
| ProjectProfileCodeTextlocalized | ||||
| ProcessingStatusTextlocalized | ||||
| char40 | ||||
| char10 | ||||
| UserID | _EnterpriseProjectForUser | UserID | ||
| virtualIsMyProjectboolean | ||||
| virtualProjectIsInternalboolean | ||||
| _ProjectManager | _ProjectManager | |||
| _Customer | _Customer | |||
| _EnterpriseProjectForUser | _EnterpriseProjectForUser | |||
| _CostCenter | _CostCenter | |||
| _ServiceOrganization | _ServiceOrganization | |||
| _ProfitCenterContactCard | _ProfitCenterContactCard | |||
| _EnterpriseProjectEntitlement | _EnterpriseProjectEntitlement | |||
| _EntProjProfnlSrvcBillgElmnt | _EntProjProfnlSrvcBillgElmnt | |||
| _EntProjProfnlSrvcBillgDoc | _EntProjProfnlSrvcBillgDoc |
@AccessControl: {
authorizationCheck: #MANDATORY,
personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #XL
},
semanticKey: ['Project']
}
@VDM.viewType: #CONSUMPTION
@EndUserText.label: 'Project Control Profnl Services Projects'
@Metadata : {
allowExtensions: true
}
define root view entity C_EntProjCtrlProfnlSrvcTP
provider contract transactional_query
as projection on I_EnterpriseProjectTP_2 as Project
association [0..1] to C_EntProjMemberContactCard as _ProjectManager on _ProjectManager.BusinessPartnerUUID = $projection.businesspartneruuid
association [0..1] to C_EntProjCustomerContactCard as _Customer on _Customer.Customer = $projection.customer
association [0..1] to C_EntProjCostCtrCntctCard as _CostCenter on _CostCenter.ControllingArea = $projection.ControllingArea
and _CostCenter.CostCenter = $projection.CostCenter
association [0..1] to C_EntProjSrvcOrgCntctCard as _ServiceOrganization on _ServiceOrganization.EnterpriseProjectServiceOrg = $projection.EnterpriseProjectServiceOrg
association [0..1] to C_EntProjPrftCtrCntctCard as _ProfitCenterContactCard on _ProfitCenterContactCard.ControllingArea = $projection.ControllingArea
and _ProfitCenterContactCard.ProfitCenter = $projection.ProfitCenter
association [1..*] to C_EnterpriseProjectEntitlement as _EnterpriseProjectEntitlement on _EnterpriseProjectEntitlement.ProjectUUID = $projection.ProjectUUID
association [0..*] to C_EntProjProfnlSrvcBillgElmnt as _EntProjProfnlSrvcBillgElmnt on _EntProjProfnlSrvcBillgElmnt.ProjectUUID = $projection.ProjectUUID
association [0..*] to C_EntProjProfnlSrvcBillgDoc as _EntProjProfnlSrvcBillgDoc on _EntProjProfnlSrvcBillgDoc.ProjectUUID = $projection.ProjectUUID
{
key ProjectUUID as ProjectUUID,
@ObjectModel:{
text.element: ['ProjectDescription']
}
Project,
@ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
virtual ProjectDescription : abap.char(40),
//virtual field ProjectDescription field must be reverted back to normal field and Project Name must be removed.
//Also, remove its implementation from class: CL_EPPM_PROJ_CTRL_PROFNL_SRVC
//All this has to be done once project description for all projects is saved correctly in /S4PPM/TASK table
//Due to SDM error for some projects it was not saving the name in /S4PPM/TASK table
ProjectDescription as ProjectName,
ProjectInternalID,
@ObjectModel:{
foreignKey.association: '_ServiceOrganization'
}
EnterpriseProjectServiceOrg,
@ObjectModel: {
foreignKey : { association: '_CostCenter'}
}
ResponsibleCostCenter as CostCenter,
@ObjectModel: {
foreignKey:{association: '_ProfitCenterContactCard'}
}
ProfitCenter,
ProjectStartDate,
ProjectEndDate,
ProjectCurrency,
@ObjectModel:{
text:{element: ['ProcessingStatusText']}
}
ProcessingStatus,
@ObjectModel:{
text:{element: ['ProjectProfileCodeText']}
}
ProjectProfileCode,
EntProjectIsConfidential,
CompanyCode,
ControllingArea,
ProjectCategory,
ProjectLastChangedDateTime,
@ObjectModel.sort.enabled: false
_EntProjProjectObjectLink[1: EntProjectObjectLinkType = 'SOLO']._EntProjBusSolnOrderLinkTP
[1: ProjectUUID = $projection.projectuuid].BusinessSolutionOrder,
@ObjectModel:{
text:{element: ['BusinessSolutionOrder']}
}
_EntProjProjectObjectLink[1: EntProjectObjectLinkType = 'SOLO']._EntProjBusSolnOrderLinkTP
[1: ProjectUUID = $projection.projectuuid].BusinessSolutionOrderItem,
@ObjectModel: {
foreignKey.association: '_ProjectManager'
}
_EntProjRoleStaffing[1: ProjectRoleType = 'YP_RL_0001']._BusinessPartner.BusinessPartnerUUID,
@ObjectModel:{
foreignKey.association: '_Customer'
}
_CustomerToBusinessPartner.Customer,
_ProjectProfileText.ProjectProfileCodeText : localized,
_EntProjProfnlSrvcProjStgeTxt.ProcessingStatusText : localized,
@ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
virtual SemanticObject : abap.char(40),
@ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
virtual SalesOrder : abap.char(10),
_EnterpriseProjectForUser.UserID,
@ObjectModel:{
filter: {
enabled: true,
transformedBy: 'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
}
}
@Consumption :{
filter : {
selectionType: #SINGLE,
multipleSelections: false
}
}
@ObjectModel.sort.enabled: false
virtual IsMyProject : boolean,
@ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
virtual ProjectIsInternal : boolean,
@ObjectModel.virtualElementCalculatedBy:'ABAP:CL_EPPM_PROJ_CTRL_PROFNL_SRVC'
virtual ProjectHasOldBillingProcess : boolean,
_ProjectManager,
_Customer,
_EnterpriseProjectForUser,
_CostCenter,
_ServiceOrganization,
_ProfitCenterContactCard,
_EnterpriseProjectEntitlement,
_EntProjProfnlSrvcBillgElmnt,
_EntProjProfnlSrvcBillgDoc
}
where
ProjectCategory = '7'
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