R_ENTERPRISEPROJECTELEMENT

CDS View

Enterprise Project Element Internal

R_ENTERPRISEPROJECTELEMENT is a CDS View in S/4HANA. Enterprise Project Element Internal. It contains 44 fields. 12 CDS views read from this table.

CDS Views using this table (12)

ViewTypeJoinVDMDescription
C_ProjDmndWorkPackageDisplay view from CONSUMPTION WBS Element Details
I_AssgdWrkPckgForConcurPostgTP view_entity inner TRANSACTIONAL WBS Elements for Concur document posting - TP
I_BlockFuncForEntProjElmnt view from COMPOSITE Basic view for block function calculation
I_EnterpriseProjectElementTP_2 view_entity from TRANSACTIONAL Version2 of TP-view for EPPM CRUD API
I_EntProjElemChgDocItem view inner COMPOSITE Chg Doc Items for Project Elements
I_EntProjElmntMaintOrder view_entity from COMPOSITE Enterprise Project Element Maintenance Order
I_EntProjElmntPurOrdAssgmt view_entity from COMPOSITE Enterprise Project Element Purchase Order Assignment
I_EntProjElmntSalesDocument view_entity from COMPOSITE Enterprise Project Element Sales Order Document
P_EntProjSimilarProjData view inner COMPOSITE Nearest Projects Basic Data
R_EnterpriseProjectTimeSheet view_entity inner COMPOSITE Enterprise Project Time Sheet
R_EntProjectElementForRead view from COMPOSITE Lists all elements a user is permitted to read
R_EntProjectElementForUpdate view from COMPOSITE Lists all elements a user is permitted and able to update

Fields (44)

KeyField CDS FieldsUsed in Views
KEY ProjectElementUUID ProjectElementUUID,ReferencedObjectUUID,TaskUUID 9
KEY WBSElementInternalID WBSElementInternalID 4
ActualFinishDate ActualEndDate 1
ActualStartDate ActualStartDate 1
CompanyCode CompanyCode 2
ControllingArea ControllingArea 2
CostCenter CostCenter 1
CostingSheet CostingSheet 1
CreatedByUser CreatedByUser 1
CreationDateTime CreationDateTime 1
EntProjectElementObjectType EntProjectElementObjectType,ObjectType 2
EntProjectElementType EntProjectElementType 1
EntProjectSettlementElement EntProjectSettlementElement 1
EntProjIsSettlmtRuleInherited EntProjIsSettlmtRuleInherited 1
EntProjProfitabilitySegment EntProjProfitabilitySegment 1
FactoryCalendar FactoryCalendar 1
ForecastedEndDate ForecastedEndDate 1
FunctionalArea FunctionalArea 2
FunctionalLocation FunctionalLocation 1
InvestmentProfile InvestmentProfile 1
IsMainMilestone IsMainMilestone 1
IsProjectMilestone IsProjectMilestone 4
LastChangeDateTime LastChangeDateTime 1
LastChangedByUser LastChangedByUser 1
LeadingSalesOrder LeadingSalesOrder 2
LeadingSalesOrderItem LeadingSalesOrderItem 2
Location Location 1
MilestoneApprovalStatus MilestoneApprovalStatus 1
ParentObjectUUID ParentObjectUUID 1
PlannedEndDate PlannedEndDate 1
PlannedStartDate PlannedStartDate 1
Plant Plant 2
ProcessingStatus ProcessingStatus 2
ProfitCenter ProfitCenter 2
ProjectElement ProjectElement 5
ProjectElementDescription ProjectElementDescription,ProjectElementName 4
ProjectElementOrdinalNumber ProjectElementOrdinalNumber 1
ProjectUUID ProjectUUID 7
ResponsibleCostCenter ResponsibleCostCenter 2
ResultAnalysisInternalID ResultAnalysisInternalID 1
TaskTemplateUUID TaskTemplateUUID 1
TaxJurisdiction TaxJurisdiction 1
WBSElementIsBillingElement WBSElementIsBillingElement 1
WBSIsStatisticalWBSElement WBSIsStatisticalWBSElement 1
@EndUserText.label: 'Enterprise Project Element Internal'

@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED

@ObjectModel: {
   semanticKey  :     [ 'ProjectElement' ],
   representativeKey: 'ProjectElementUUID',
   supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET ],
   usageType: {
     serviceQuality : #B,
     dataClass      : #MASTER,
     sizeCategory   : #XL
   }
}

@Metadata.ignorePropagatedAnnotations: true

@Analytics.internalName:#LOCAL
@Analytics.dataExtraction: {
        enabled :true,
        delta.changeDataCapture: {
            mapping:[
                {
                    table: '/s4ppm/task', role :#MAIN,
                    viewElement: ['ProjectElementUUID'],
                    tableElement: ['guid']
                },
                {
                    table: 'prps', role :#LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['WBSElementInternalID'],
                    tableElement: ['pspnr']
                }
            ]
        }
}
@Analytics.dataCategory: #DIMENSION
@Metadata.allowExtensions:true
@VDM.viewType: #BASIC
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API

define view entity R_EnterpriseProjectElement
  as select from           /s4ppm/task      as task
  //Left Outer Join To get also Milestones

    left outer to one join prps             as prps  on prps.pspnr = task.pspnr


  //to make sure parent is empty in case of parent being PST

    left outer to one join /s4ppm/hierarchy as hiera on  hiera.object_guid    =  task.guid
                                                     and hiera.hierarchy_type =  'T'
                                                     and task.object_type     <> 'DPO' 

  association [1..1] to R_EnterpriseProject         as _EnterpriseProject       on  _EnterpriseProject.ProjectUUID = $projection.ProjectUUID

  -- text associations
  association [0..1] to I_PPM_ProcessingStatusText  as _ProcessingStatusText    on  $projection.ProcessingStatus = _ProcessingStatusText.ProcessingStatus
                                                                                and _ProcessingStatusText.Language = $session.system_language

  association [0..1] to I_InvestmentProfileText     as _InvestmentProfileText   on  $projection.InvestmentProfile = _InvestmentProfileText.InvestmentProfile
                                                                                and _InvestmentProfileText.Language = $session.system_language

  association [0..1] to I_FunctionalAreaText        as _FunctionalAreaText      on  $projection.FunctionalArea = _FunctionalAreaText.FunctionalArea
                                                                                and _FunctionalAreaText.Language = $session.system_language

  association [0..1] to I_FactoryCalendarText       as _FactoryCalendarText     on  $projection.FactoryCalendar = _FactoryCalendarText.FactoryCalendar
                                                                                and _FactoryCalendarText.Language = $session.system_language

  association [0..1] to I_FunctionalLocationText    as _FunctionalLocationText  on  $projection.FunctionalLocation = _FunctionalLocationText.FunctionalLocation
                                                                                and _FunctionalLocationText.Language = $session.system_language

  association [0..1] to I_CostCenterText            as _CostCenter              on  $projection.CostCenter      = _CostCenter.CostCenter
                                                                                and $projection.ControllingArea = _CostCenter.ControllingArea
                                                                                and _CostCenter.ValidityEndDate >= $session.system_date
                                                                                and _CostCenter.ValidityStartDate <= $session.system_date
                                                                                and _CostCenter.Language = $session.system_language

  association [0..1] to I_CostCenterText            as _ResponsibleCostCenter   on  $projection.ResponsibleCostCenter = _ResponsibleCostCenter.CostCenter
                                                                                and $projection.ControllingArea       = _ResponsibleCostCenter.ControllingArea
                                                                                and _ResponsibleCostCenter.ValidityEndDate >= $session.system_date
                                                                                and _ResponsibleCostCenter.ValidityStartDate <= $session.system_date
                                                                                and _ResponsibleCostCenter.Language = $session.system_language

  association [0..1] to I_ProfitCenterText          as _ProfitCenter            on  $projection.ProfitCenter    = _ProfitCenter.ProfitCenter
                                                                                and $projection.ControllingArea = _ProfitCenter.ControllingArea
                                                                                and _ProfitCenter.ValidityEndDate >= $session.system_date
                                                                                and _ProfitCenter.ValidityStartDate <= $session.system_date
                                                                                and _ProfitCenter.Language = $session.system_language

  association [0..1] to I_UserContactCard           as _CreatedByUser           on  $projection.CreatedByUser = _CreatedByUser.ContactCardID
  association [0..1] to I_UserContactCard           as _LastChangedByUser       on  $projection.LastChangedByUser = _LastChangedByUser.ContactCardID
  association [0..1] to I_CompanyCode               as _CompanyCode             on  $projection.CompanyCode = _CompanyCode.CompanyCode
  association [0..1] to I_Plant                     as _Plant                   on  $projection.Plant = _Plant.Plant
  association [0..1] to I_ControllingArea           as _ControllingArea         on  $projection.ControllingArea = _ControllingArea.ControllingArea
  association [0..1] to I_PPM_Tasktype              as _tasktype                on  $projection.EntProjectElementType = _tasktype.TaskType
  association [1..1] to I_PPM_MilestoneApprovalStatus   as _MilestoneApprovalStatus on $projection.MilestoneApprovalStatus = _MilestoneApprovalStatus.MilestoneApprovalStatus 
  association [0..1] to I_PPM_MilestoneApprovalStsText as _MilestoneApprovalStatusText on $projection.MilestoneApprovalStatus = _MilestoneApprovalStatusText.MilestoneApprovalStatus
                                                                                        and _MilestoneApprovalStatusText.Language = $session.system_language
  association [0..*] to I_EntProjResultAnalysisKeyText  as _RsltAnlysKeyText    on  $projection.ResultAnalysisInternalID = _RsltAnlysKeyText.ResultAnalysisInternalID

  //For Cat 7 Authorization                                                                                      

  association [0..1] to I_EnterpriseProjectForUser     as _EnterpriseProjectForUser on _EnterpriseProjectForUser.ProjectUUID = $projection.ProjectUUID
  ---Extension Association
  association [1..1] to E_PPM_Task                  as _ProjectElementExtension on  $projection.ProjectElementUUID = _ProjectElementExtension.TaskUUID

{
  key task.guid                                                          as ProjectElementUUID,
      cast ( task.external_id as /s4ppm/project_ele_id preserving type ) as ProjectElement,
      @ObjectModel.foreignKey.association: '_EnterpriseProject'
      task.project_guid                                                  as ProjectUUID,
      @Semantics.text: true
      task.name                                                          as ProjectElementDescription,
      task.proc_status_own                                               as ProcessingStatus,

      @EndUserText:
         { quickInfo:  'Latest Planned Start',
           label:      'Latest Planned Start'  }
      task.latest_start_date                                             as PlannedStartDate,
      @EndUserText:
         { quickInfo:  'Latest Planned Finish',
           label    :  'Latest Planned Finish' }
      task.latest_finish_date                                            as PlannedEndDate,
      task.actualstart_date                                              as ActualStartDate,
      task.actualfinish_date                                             as ActualFinishDate,
      task.sort_number                                                   as SortingNumber,
      task.object_type                                                   as EntProjectElementObjectType,
      //2008 EPPM Harmonization Start

      task.task_type                                                     as EntProjectElementType,

      task.template_guid                                                 as TaskTemplateUUID,

      @Semantics.booleanIndicator: true
      task.milestone                                                     as IsProjectMilestone,
      prps.txjcd                                                         as TaxJurisdiction,
      prps.tplnr                                                         as FunctionalLocation,
      prps.fakkz                                                         as WBSElementIsBillingElement,
      // CE2602 - Profitability segment

      task.entprojprofitabilitysegment                                   as EntProjProfitabilitySegment,
//      task.entprojsettlementrulecontrol as EntProjSettlementRuleControl,

      //CE2408-Hierarchy Settlement 

      prps.settlementelement                                             as EntProjectSettlementElement, 
      prps.settlmtruleinherited                                          as EntProjIsSettlmtRuleInherited,
      //2008 EPPM Harmonization End

      cast ( task.pspnr as ps_s4_pspnr preserving type )                 as WBSElementInternalID,
      //2105 Adding Project internal ID as part of BW integration.

      cast ( prps.psphi as ps_s4_proj_pspnr preserving type )            as ProjectInternalID,

      cast ( hiera.up as /s4ppm/tv_parent_entity_guid preserving type )  as ParentObjectUUID,
      cast (hiera.sort_number as /s4ppm/tv_sort_number preserving type ) as ProjectElementOrdinalNumber,

      prps.xstat                                                         as WBSIsStatisticalWBSElement,
      prps.pbukr                                                         as CompanyCode,
      prps.pkokr                                                         as ControllingArea,
      prps.kostl                                                         as CostCenter,
      prps.kalsm                                                         as CostingSheet,
      prps.fabkl                                                         as FactoryCalendar,
      prps.func_area                                                     as FunctionalArea,
      prps.imprf                                                         as InvestmentProfile,
      prps.stort                                                         as Location,
      prps.werks                                                         as Plant,
      prps.prctr                                                         as ProfitCenter,
      prps.fkstl                                                         as ResponsibleCostCenter,
      //SO Integration

      prps.abgsl                                                         as ResultAnalysisInternalID,
      prps.vbeln_prps                                                    as LeadingSalesOrder,
      prps.posnr_prps                                                    as LeadingSalesOrderItem,
      @Semantics.user.createdBy: true
      task.created_by                                                    as CreatedByUser,
      @Semantics.systemDateTime.createdAt: true
      task.created_on                                                    as CreationDateTime,
      @Semantics.user.lastChangedBy: true
      task.changed_by                                                    as LastChangedByUser,
      @Semantics.systemDateTime.lastChangedAt: true
      task.changed_on                                                    as LastChangeDateTime,
      
      task.forecast_finish_date                                          as ForecastedEndDate,            
      task.mlstn_apprvl_status                                           as MilestoneApprovalStatus,
      _tasktype.IsEssentialMilestone                                     as IsMainMilestone,
      
      _ProcessingStatusText,
      _InvestmentProfileText,
      _FunctionalAreaText,
      _FactoryCalendarText,
      _FunctionalLocationText,
      _CreatedByUser,
      _LastChangedByUser,
      _CompanyCode,
      _Plant,
      _CostCenter,
      _ResponsibleCostCenter,
      _ProfitCenter,
      _ControllingArea,
      _MilestoneApprovalStatus,
      _MilestoneApprovalStatusText,
      _RsltAnlysKeyText,

      _EnterpriseProject,
      _EnterpriseProjectForUser

}