I_ENTERPRISEPROJECTROLE

CDS View

Enterprise Project Role

I_ENTERPRISEPROJECTROLE is a CDS View in S/4HANA. Enterprise Project Role. It contains 6 fields. 5 CDS views read from this table.

CDS Views using this table (5)

ViewTypeJoinVDMDescription
I_EntProjTeamRoleStaffInternal view_entity inner COMPOSITE Project Team Role Staffing Internal
I_PPM_ProjectManager view inner COMPOSITE Enterprise Project Manager
P_EngmntProjectRoleAssgmt view inner COMPOSITE
P_EngmntProjWithStdRoles view inner COMPOSITE
R_EnterpriseProjectRoleTP view_entity from TRANSACTIONAL Appl Interface for Ent Project Role

Fields (6)

KeyField CDS FieldsUsed in Views
KEY ProjectRoleType EngagementProjectTeamRole,ProjectRoleType 3
KEY ProjectRoleUUID ProjectRoleUUID 1
CreationDateTime CreationDateTime 1
ProjectRoleCategory ProjectRoleCategory 1
ProjectRoleName ProjectRoleName 1
ProjectUUID ProjectUUID 1
@VDM.viewType: #BASIC

@EndUserText.label: 'Enterprise Project Role'

@AbapCatalog: {
    sqlViewName: 'IIENTERPROJROLE',
    compiler.compareFilter: true,
    preserveKey: true,
    dataMaintenance: #RESTRICTED
}
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
//   semanticKey:       [ 'ProjectRole' ], ProjectRoleName is not unique, there is no ID field at the moment

   representativeKey: 'ProjectRoleUUID',
   supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #EXTRACTION_DATA_SOURCE ],   
   usageType: {
     serviceQuality:  #B,
     dataClass:       #MASTER,
     sizeCategory:    #XL
   }
}

@Metadata.ignorePropagatedAnnotations: true

@Analytics.dataExtraction: {
        enabled: true
}

@Analytics.dataExtraction.delta.changeDataCapture.automatic: true

@VDM.lifecycle.contract.type:  #PUBLIC_LOCAL_API


define view I_EnterpriseProjectRole

  as select from   /s4ppm/role           as role

  association [1..1] to I_EnterpriseProject            as _Project                        on $projection.ProjectUUID         = _Project.ProjectUUID
  association [1..1] to I_EnterpriseProjectRoleType    as _ProjectRoleType                on $projection.ProjectRoleType     = _ProjectRoleType.ProjectRoleType
  association [1..1] to I_EntProjectRoleCategory       as _ProjectRoleTypeCategory        on $projection.ProjectRoleCategory = _ProjectRoleTypeCategory.ProjectRoleCategory

{
  key role.guid                   as ProjectRoleUUID,
      @ObjectModel.foreignKey.association: '_Project'
      role.project_guid           as ProjectUUID,
      @ObjectModel.foreignKey.association: '_ProjectRoleType'
      role.role_type              as ProjectRoleType,
      @ObjectModel.foreignKey.association: '_ProjectRoleTypeCategory'
      role.role_category          as ProjectRoleCategory,
      role.role_name              as ProjectRoleName,
      
      @Semantics.user.createdBy: true                    
      role.created_by             as CreatedByUser,
      @Semantics.systemDateTime.createdAt: true            
      role.created_on             as CreationDateTime, 
      @Semantics.user.lastChangedBy: true
      role.changed_by             as LastChangedByUser, 
      @Semantics.systemDateTime.lastChangedAt: true
      role.changed_on             as LastChangeDateTime, 

      _Project,
      _ProjectRoleType,
      _ProjectRoleTypeCategory
     
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"/S4PPM/ROLE"
],
"ASSOCIATED":
[
"I_ENTERPRISEPROJECT",
"I_ENTERPRISEPROJECTROLETYPE",
"I_ENTPROJECTROLECATEGORY"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/