I_ENTERPRISEPROJECT

CDS View

Enterprise Project

I_ENTERPRISEPROJECT is a CDS View in S/4HANA. Enterprise Project. It contains 20 fields. 23 CDS views read from this table.

CDS Views using this table (23)

ViewTypeJoinVDMDescription
C_BSOrdProcFlwEntProject view from CONSUMPTION Customer Project Attrib for BSOrd Prgrs
C_EntProjectProfnlSrvcVH view from CONSUMPTION Enterprise Project for Professional Services
C_EntProjectRankingProjectVH view from CONSUMPTION Ent. Project Ranking Project Value Help
C_ProjBillgCustomerProjectDets view from CONSUMPTION Project Details
C_ProjDmndProjectDisplay view from CONSUMPTION Project Details
C_SlsDocItemWBSElementVH view inner CONSUMPTION WBSElement By ExternalID
I_EntProjElemChgDocuments view inner COMPOSITE Chg Doc for Project Elements of Ent Proj
I_EntProjProjectChgDocuments view inner COMPOSITE Chg Doc for General Info of Ent Proj
I_EntProjProjectRespPersn view inner BASIC Responsible Person for Project Header
I_EntProjSimilarProjBscData view left_outer COMPOSITE Interface view for the Similar Projects
I_EntProjStsAreaChgDocuments view inner COMPOSITE Chg Doc for Status Area of Ent Proj
I_EntProjTeamChgDocuments view inner COMPOSITE Chg Doc for Team tab of Ent Proj
I_PPM_ProjCostByFiscalPeriod view from COMPOSITE Project Costs by Fiscal Period
I_PPM_ProjectCostSumOvrl view from COMPOSITE Project Cost To Date
P_BusSolnOrdEntProjectFlwLvl2 view inner CONSUMPTION Solution Order Enterprise Project Flow: Level 2
P_EntProjCostLineItems view left_outer COMPOSITE
P_ProjBillgCustomerProjectDets view_entity from COMPOSITE
P_ProjBillgCustProjVH view_entity from COMPOSITE
P_ProjectBudgetItems view left_outer COMPOSITE
P_ProjectFinBdgtSummary view inner COMPOSITE
P_PROJECTFINBUDGETSMMRY view union_all COMPOSITE
P_WorkPackageList view inner COMPOSITE
R_EntProjElmntBlockFuncTP view inner TRANSACTIONAL Transactional Processing for proj elmnt block function

Fields (20)

KeyField CDS FieldsUsed in Views
KEY CompanyCode CompanyCode 8
KEY ControllingArea ControllingArea 7
KEY FunctionalArea FunctionalArea 8
KEY ProfitCenter ProfitCenter 6
KEY Project Project,UI5NetworkGraphAttributeValue 7
KEY ProjectInternalID ProjectInternalID 1
KEY ProjectSummaryTaskUUID ProjectSummaryTaskUUID,TaskUUID 9
KEY ProjectUUID ProjectUUID 7
_AuthGroup _AuthGroup 1
_AuthRole _AuthRole 1
_AuthSubst _AuthSubst 1
_AuthUser _AuthUser 1
EnterpriseProjectType EnterpriseProjectType,ProjectType 9
Plant Plant 6
ProcessingStatus ProcessingStatus 4
ProjectDescription ProjectDescription,ProjectName 6
ProjectEndDate ProjectEndDate 2
ProjectProfileCode ProjectProfileCode 6
ProjectStartDate ProjectStartDate 2
ResponsibleCostCenter ResponsibleCostCenter 8
@VDM.viewType: #BASIC
@EndUserText.label: 'Enterprise Project'

@AbapCatalog: {
    sqlViewName: 'IIENTERPROJ',
    compiler.compareFilter: true,
    preserveKey: true,
    dataMaintenance: #RESTRICTED
}

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

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
   semanticKey:       [ 'Project' ],
   representativeKey: 'ProjectUUID',
   supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #EXTRACTION_DATA_SOURCE ],
   usageType: {
     serviceQuality:  #B,
     dataClass:       #MASTER,
     sizeCategory:    #L
   }
}

@UI.headerInfo: {
  typeName:       'Project',
  typeNamePlural: 'Projects'
}

@Metadata.ignorePropagatedAnnotations: true

@Analytics.dataExtraction: {
        enabled: true,
        delta.changeDataCapture: {

            mapping:[
                {
                    table: '/s4ppm/project', role: #MAIN,
                    viewElement: ['ProjectUUID'],
                    tableElement: ['guid']
                },
                {
                    table: '/s4ppm/task', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['ProjectSummaryTaskUUID'],
                    tableElement: ['guid']},
                {
                    table: 'proj', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['ProjectInternalID'],
                    tableElement: ['pspnr']},
                {
                    table: 'prps', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['WBSElementInternalID'],
                    tableElement: ['pspnr']
                }


            ]
        }
}
@Analytics.dataCategory: #DIMENSION
@Metadata.allowExtensions:true

@VDM.lifecycle.contract.type:  #PUBLIC_LOCAL_API

define view I_EnterpriseProject
  as select from /s4ppm/project as project
    inner join   /s4ppm/task    as task on  task.project_guid = project.guid
                                        and object_type       = 'DPO'
    inner join   proj           as proj on proj.pspnr = project.pspnr
    inner join   prps           as prps on prps.pspnr = task.pspnr

  -- child assocciations
  association [1..*] to I_EnterpriseProjectElement    as _ProjectElement             on  $projection.ProjectUUID = _ProjectElement.ProjectUUID

  association [0..*] to I_EnterpriseProjectRole       as _ProjectRole                on  $projection.ProjectUUID = _ProjectRole.ProjectUUID

  association [0..*] to I_EnterpriseProjectTeamMember as _ProjectTeamMember          on  $projection.ProjectUUID = _ProjectTeamMember.ProjectUUID

  ---Extension Association
  association [1..1] to E_PPM_Project                 as _ProjectExtension           on  $projection.ProjectUUID = _ProjectExtension.ProjectUUID
  association [1..1] to E_PPM_EngagementProject       as _EngagementProjectExtension on  $projection.ProjectUUID = _EngagementProjectExtension.ProjectUUID

  // associations to authorization views

  association [0..*] to I_PPM_AuthznByUsrH            as _AuthUser                   on  _AuthUser.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
                                                                                     and _AuthUser.UserID               = $session.user
                                                                                     and (
                                                                                        _AuthUser.Activity              = 'Admin'
                                                                                        or _AuthUser.Activity           = 'Write'
                                                                                        or _AuthUser.Activity           = 'Read'
                                                                                      )
  association [0..*] to I_PPM_AuthznBySubstitH        as _AuthSubst                  on  _AuthSubst.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
                                                                                     and _AuthSubst.UserID               = $session.user
                                                                                     and (
                                                                                        _AuthSubst.Activity              = 'Admin'
                                                                                        or _AuthSubst.Activity           = 'Write'
                                                                                        or _AuthSubst.Activity           = 'Read'
                                                                                      )

  association [0..*] to I_PPM_AuthznByUserRoleH       as _AuthRole                   on  _AuthRole.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
                                                                                     and _AuthRole.UserID               = $session.user
                                                                                     and (
                                                                                        _AuthRole.Activity              = 'Admin'
                                                                                        or _AuthRole.Activity           = 'Write'
                                                                                        or _AuthRole.Activity           = 'Read'
                                                                                      )
  association [0..*] to I_PPM_AuthznByUsrGrpH         as _AuthGroup                  on  _AuthGroup.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
                                                                                     and _AuthGroup.UserID               = $session.user
                                                                                     and (
                                                                                        _AuthGroup.Activity              = 'Admin'
                                                                                        or _AuthGroup.Activity           = 'Write'
                                                                                        or _AuthGroup.Activity           = 'Read'
                                                                                      )
//For Cat 7 Authorization                                                                                      

association [0..1] to I_EnterpriseProjectForUser     as _EnterpriseProjectForUser on _EnterpriseProjectForUser.ProjectUUID = $projection.ProjectUUID
{
      @ObjectModel.text.element: ['ProjectDescription']
  key project.guid                                                                  as ProjectUUID,
      cast ( project.pspnr as ps_s4_proj_pspnr preserving type )                    as ProjectInternalID,
      //2008 C4P Harmonization Start

      project.customer                                                              as CustomerUUID,
      project.org_id                                                                as EnterpriseProjectServiceOrg,
      project.confidential                                                          as EntProjectIsConfidential,
      project.restrict_time_posting                                                 as RestrictedTimePosting,
      @Consumption.hidden: true
      project.pro_category                                                          as ProjectCategory,
      //2008 C4P Harmonization End

      task.guid                                                                     as ProjectSummaryTaskUUID,
      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,
      @EndUserText:
         { quickInfo : 'Earliest Planned Start',
           label     : 'Earliest Planned Start',
           heading   : 'Earliest Planned Start' }
      task.planstart_date                                                           as PlannedStartDate,
      @EndUserText:
         { quickInfo : 'Earliest Planned Finish',
           label     : 'Earliest Planned Finish',
           heading   : 'Earliest Planned Finish' }
      task.planfinish_date                                                          as PlannedEndDate,
      task.actualstart_date                                                         as ActualStartDate,
      task.actualfinish_date                                                        as ActualFinishDate,
      task.priority                                                                 as PriorityCode,
      //2102 SD eppm N:1 indicator

      task.multi_soi_enabled                                                        as EntProjIsMultiSlsOrdItmsEnbld,
      //2008 C4P Harmonization Start

      @EndUserText:
         { quickInfo : 'Latest Planned Start',
           label     : 'Latest Planned Start',
           heading   : 'Latest Planned Start' }
      task.latest_start_date                                                        as ProjectStartDate,
      @EndUserText:
         { quickInfo : 'Latest Planned Finish',
           label     : 'Latest Planned Finish',
           heading   : 'Latest Planned Finish' }
      task.latest_finish_date                                                       as ProjectEndDate,
      //2105 EPPM-BW integration

      cast ( prps.pspnr as ps_s4_pspnr preserving type )                            as WBSElementInternalID,
      // prps.pspnr                                                                  as ProjectObjectReferenceElement,

      //2008 C4P Harmonization End

      proj.profl                                                                    as ProjectProfileCode,
      proj.prctr                                                                    as ProfitCenter,
      proj.vbukr                                                                    as CompanyCode,
      proj.vkokr                                                                    as ControllingArea,
      proj.func_area                                                                as FunctionalArea,
      proj.stort                                                                    as Location,
      proj.werks                                                                    as Plant,
      proj.cpcurr                                                                   as Currency,
      //2008 C4P Harmonization Start

      proj.avc_profile                                                              as AvailabilityControlProfile,
      proj.avc_active                                                               as AvailabilityControlIsActive,
      proj.imprf                                                                    as InvestmentProfile,
      proj.txjcd                                                                    as TaxJurisdiction,
      //2008 C4P Harmonization End

      prps.prart                                                                    as EnterpriseProjectType,
      prps.fkstl                                                                    as ResponsibleCostCenter,
      prps.tplnr                                                                    as FunctionalLocation,
      prps.fakkz                                                                    as IsBillingRelevant,
      //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.localInstanceLastChangedBy: true
      task.changed_by                                                               as LastChangedByUser,
      @Semantics.systemDateTime.localInstanceLastChangedAt: true
      task.changed_on                                                               as LastChangeDateTime,
      project.last_changed_by                                                       as ProjectLastChangedByUser,
      cast ( project.last_changed_on as /s4ppm/tv_proj_changed_on preserving type ) as ProjectLastChangedDateTime,

      _ProjectElement,
      _ProjectRole,
      _ProjectTeamMember,
      _EnterpriseProjectForUser,

      // Authorization Association, do not expose externally

      @Consumption.hidden: true
      _AuthUser,
      @Consumption.hidden: true
      _AuthSubst,
      @Consumption.hidden: true
      _AuthRole,
      @Consumption.hidden: true
      _AuthGroup

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"/S4PPM/PROJECT",
"/S4PPM/TASK",
"PROJ",
"PRPS"
],
"ASSOCIATED":
[
"E_PPM_ENGAGEMENTPROJECT",
"E_PPM_PROJECT",
"I_ENTERPRISEPROJECTELEMENT",
"I_ENTERPRISEPROJECTFORUSER",
"I_ENTERPRISEPROJECTROLE",
"I_ENTERPRISEPROJECTTEAMMEMBER",
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/