P_EnterpriseProjectForSearch
Enterprise Search for Enterprise Project
P_EnterpriseProjectForSearch is a Basic CDS View that provides data about "Enterprise Search for Enterprise Project" in SAP S/4HANA. It reads from 4 data sources (proj, /s4ppm/project, prps, /s4ppm/task) and exposes 44 fields with key field ProjectUUID. It has 10 associations to related views. Part of development package VDM_PPM_OBJECTS_TP_PROJECT.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| proj | proj | inner |
| /s4ppm/project | project | from |
| prps | prps | inner |
| /s4ppm/task | task | inner |
Associations (10)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | P_EnterpriseProjectResponsible | _EnterpriseProjectResponsible | $projection.ProjectSummaryTaskUUID = _EnterpriseProjectResponsible.ReferencedObjectUUID |
| [0..1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [0..*] | I_EntProjProcessingStatusText | _ProcessingStatusText | $projection.ProcessingStatus = _ProcessingStatusText.ProcessingStatus |
| [0..*] | I_ProjectProfileCodeText | _ProjectProfileText | $projection.ProjectProfileCode = _ProjectProfileText.ProjectProfileCode |
| [0..*] | I_CostCenterText | _CostCenter | $projection.ResponsibleCostCenter = _CostCenter.CostCenter and $projection.ControllingArea = _CostCenter.ControllingArea |
| [0..*] | I_ProfitCenterText | _profitCenter | $projection.ProfitCenter = _profitCenter.ProfitCenter and $projection.ControllingArea = _profitCenter.ControllingArea |
| [0..*] | I_PPM_PriorityText | _PriorityText | $projection.PriorityCode = _PriorityText.PriorityCode |
| [0..*] | I_Projecttypetext | _EnterpriseProjectTypeText | _EnterpriseProjectTypeText.ProjectType = $projection.EnterpriseProjectType |
| [0..*] | I_FunctionalAreaText | _FunctionalAreaText | $projection.FunctionalArea = _FunctionalAreaText.FunctionalArea |
| [1] | R_AccControlIsUserAuthorized | _EnterpriseProjectAuthUser | _EnterpriseProjectAuthUser.AccCtrlReferencedObjectUUID = project.guid and _EnterpriseProjectAuthUser.UserID = $session.user and _EnterpriseProjectAuthUser.AccessControlRestrictionCode = 'READ' |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| EndUserText.label | Enterprise Search for Enterprise Project | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| VDM.private | true | view | |
| VDM.viewType | #BASIC | view |
Fields (44)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectUUID | /s4ppm/project | guid | |
| ProjectInternalID | ||||
| ProjectCategory | /s4ppm/project | pro_category | ||
| EnterpriseProjectType | prps | prart | ||
| ProjectProfileCode | proj | profl | ||
| ProjectSummaryTaskUUID | /s4ppm/task | guid | ||
| Project | ||||
| ProjectDescription | /s4ppm/task | name | ||
| ProcessingStatus | /s4ppm/task | proc_status_own | ||
| PlannedStartDate | /s4ppm/task | planstart_date | ||
| PlannedEndDate | /s4ppm/task | planfinish_date | ||
| ActualStartDate | /s4ppm/task | actualstart_date | ||
| ActualFinishDate | /s4ppm/task | actualfinish_date | ||
| PriorityCode | /s4ppm/task | priority | ||
| CompanyCode | proj | vbukr | ||
| ControllingArea | proj | vkokr | ||
| FunctionalArea | proj | func_area | ||
| Plant | proj | werks | ||
| ProfitCenter | proj | prctr | ||
| ResponsibleCostCenter | prps | fkstl | ||
| ProjectManager | _EnterpriseProjectResponsible | PersonFullName | ||
| IsBusinessPurposeCompleted | _EnterpriseProjectResponsible | IsBusinessPurposeCompleted | ||
| AuthorizationGroup | _EnterpriseProjectResponsible | AuthorizationGroup | ||
| DataControllerSet | _EnterpriseProjectResponsible | DataControllerSet | ||
| DataController1 | _EnterpriseProjectResponsible | DataController1 | ||
| DataController2 | _EnterpriseProjectResponsible | DataController2 | ||
| DataController3 | _EnterpriseProjectResponsible | DataController3 | ||
| DataController4 | _EnterpriseProjectResponsible | DataController4 | ||
| DataController5 | _EnterpriseProjectResponsible | DataController5 | ||
| DataController6 | _EnterpriseProjectResponsible | DataController6 | ||
| DataController7 | _EnterpriseProjectResponsible | DataController7 | ||
| DataController8 | _EnterpriseProjectResponsible | DataController8 | ||
| DataController9 | _EnterpriseProjectResponsible | DataController9 | ||
| DataController10 | _EnterpriseProjectResponsible | DataController10 | ||
| UserID | _EnterpriseProjectAuthUser | UserID | ||
| _CompanyCode | _CompanyCode | |||
| _ProcessingStatusText | _ProcessingStatusText | |||
| _ProjectProfileText | _ProjectProfileText | |||
| _CostCenter | _CostCenter | |||
| _profitCenter | _profitCenter | |||
| _PriorityText | _PriorityText | |||
| _EnterpriseProjectTypeText | _EnterpriseProjectTypeText | |||
| _FunctionalAreaText | _FunctionalAreaText | |||
| _EnterpriseProjectResponsible | _EnterpriseProjectResponsible |
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@EndUserText.label: 'Enterprise Search for Enterprise Project'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #C,
sizeCategory: #XL,
dataClass: #MASTER
}
@VDM.private: true
@VDM.viewType: #BASIC
define view entity P_EnterpriseProjectForSearch
as select from /s4ppm/project as project
inner join /s4ppm/task as task on task.project_guid = project.guid
and task.object_type = 'DPO'
inner join proj as proj on proj.pspnr = project.pspnr
inner join prps as prps on prps.pspnr = task.pspnr
association [0..*] to P_EnterpriseProjectResponsible as _EnterpriseProjectResponsible on $projection.ProjectSummaryTaskUUID = _EnterpriseProjectResponsible.ReferencedObjectUUID
association [0..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [0..*] to I_EntProjProcessingStatusText as _ProcessingStatusText on $projection.ProcessingStatus = _ProcessingStatusText.ProcessingStatus
association [0..*] to I_ProjectProfileCodeText as _ProjectProfileText on $projection.ProjectProfileCode = _ProjectProfileText.ProjectProfileCode
association [0..*] to I_CostCenterText as _CostCenter on $projection.ResponsibleCostCenter = _CostCenter.CostCenter
and $projection.ControllingArea = _CostCenter.ControllingArea
association [0..*] to I_ProfitCenterText as _profitCenter on $projection.ProfitCenter = _profitCenter.ProfitCenter
and $projection.ControllingArea = _profitCenter.ControllingArea
association [0..*] to I_PPM_PriorityText as _PriorityText on $projection.PriorityCode = _PriorityText.PriorityCode
association [0..*] to I_Projecttypetext as _EnterpriseProjectTypeText on _EnterpriseProjectTypeText.ProjectType = $projection.EnterpriseProjectType
association [0..*] to I_FunctionalAreaText as _FunctionalAreaText on $projection.FunctionalArea = _FunctionalAreaText.FunctionalArea
association [1] to R_AccControlIsUserAuthorized as _EnterpriseProjectAuthUser on _EnterpriseProjectAuthUser.AccCtrlReferencedObjectUUID = project.guid and
_EnterpriseProjectAuthUser.UserID = $session.user and
_EnterpriseProjectAuthUser.AccessControlRestrictionCode = 'READ'
{
key project.guid as ProjectUUID,
cast ( project.pspnr as ps_s4_proj_pspnr preserving type ) as ProjectInternalID,
@Consumption.hidden: true
project.pro_category as ProjectCategory,
prps.prart as EnterpriseProjectType,
proj.profl as ProjectProfileCode,
task.guid as ProjectSummaryTaskUUID,
@ObjectModel.text.element: ['ProjectDescription']
cast ( task.external_id as /s4ppm/project_id preserving type ) as Project,
@Semantics.text: true
task.name as ProjectDescription,
task.proc_status_own as ProcessingStatus,
task.planstart_date as PlannedStartDate,
task.planfinish_date as PlannedEndDate,
task.actualstart_date as ActualStartDate,
task.actualfinish_date as ActualFinishDate,
task.priority as PriorityCode,
proj.vbukr as CompanyCode,
proj.vkokr as ControllingArea,
proj.func_area as FunctionalArea,
proj.werks as Plant,
proj.prctr as ProfitCenter,
prps.fkstl as ResponsibleCostCenter,
_EnterpriseProjectResponsible.PersonFullName as ProjectManager,
_EnterpriseProjectResponsible.IsBusinessPurposeCompleted,
_EnterpriseProjectResponsible.AuthorizationGroup,
_EnterpriseProjectResponsible.DataControllerSet,
_EnterpriseProjectResponsible.DataController1,
_EnterpriseProjectResponsible.DataController2,
_EnterpriseProjectResponsible.DataController3,
_EnterpriseProjectResponsible.DataController4,
_EnterpriseProjectResponsible.DataController5,
_EnterpriseProjectResponsible.DataController6,
_EnterpriseProjectResponsible.DataController7,
_EnterpriseProjectResponsible.DataController8,
_EnterpriseProjectResponsible.DataController9,
_EnterpriseProjectResponsible.DataController10,
_EnterpriseProjectAuthUser.UserID,
_CompanyCode,
_ProcessingStatusText,
_ProjectProfileText,
_CostCenter,
_profitCenter,
_PriorityText,
_EnterpriseProjectTypeText,
_FunctionalAreaText,
_EnterpriseProjectResponsible
}
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