P_EnterpriseProjectForSearch

DDL: P_ENTERPRISEPROJECTFORSEARCH Type: view_entity BASIC Package: VDM_PPM_OBJECTS_TP_PROJECT

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)

SourceAliasJoin Type
proj proj inner
/s4ppm/project project from
prps prps inner
/s4ppm/task task inner

Associations (10)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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
}