I_PPM_ProjectRole

DDL: I_PPM_PROJECTROLE Type: view BASIC

Project Role

I_PPM_ProjectRole is a Basic CDS View that provides data about "Project Role" in SAP S/4HANA. It reads from 3 data sources (cgpl_hierarchy, I_PPM_Task, dpr_part) and exposes 20 fields with key field ProjectRoleUUID. It has 3 associations to related views.

Data Sources (3)

SourceAliasJoin Type
cgpl_hierarchy hier left_outer
I_PPM_Task pst left_outer
dpr_part role from

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_PPM_ProjectRoleText _ProjectRoleText $projection.ProjectRoleUUID = _ProjectRoleText.ProjectRoleUUID
[1..*] I_PPM_ProjectRoleTypeText _ProjectRoleTypeText $projection.ProjectRoleType = _ProjectRoleTypeText. ProjectRoleType
[1..1] I_PPM_ProjectRoleType _ProjectRoleType $projection.ProjectRoleType = _ProjectRoleType.ProjectRoleType

Annotations (13)

NameValueLevelField
EndUserText.label Project Role view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
AbapCatalog.sqlViewName IPPMPROROLE view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ObjectModel.representativeKey ProjectRoleUUID view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #S view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view

Fields (20)

KeyFieldSource TableSource FieldDescription
KEY ProjectRoleUUID
ProjectRoleType dpr_part participant_role
ObjectType
ProjectSummaryTaskUUID I_PPM_Task TaskUUID
ProjectUUID I_PPM_Task ProjectUUID
ProjectRole dpr_part participant_id
_ProjectRoleText _ProjectRoleText
_ProjectRoleTypeText _ProjectRoleTypeText
_ProjectRoleType _ProjectRoleType
ProjectInternalID ProjectInternalID
WBSElementInternalID WBSElementInternalID
_I_Project I_PPM_Task _I_Project
ProjectProfileCode
FunctionalArea
CompanyCode
_ProjObj I_PPM_Task _ProjObj
_AuthUser I_PPM_Task _AuthUser
_AuthSubst I_PPM_Task _AuthSubst
_AuthRole I_PPM_Task _AuthRole
_AuthGroup I_PPM_Task _AuthGroup
@EndUserText.label: 'Project Role'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED

@AbapCatalog: { 
    sqlViewName: 'IPPMPROROLE',
    compiler.compareFilter: true,
    preserveKey:true
}

@ObjectModel: {
     representativeKey: 'ProjectRoleUUID',
     usageType: {
     serviceQuality:  #D,
     dataClass:       #MIXED,
     sizeCategory:    #S
    }
}

@VDM.viewType: #BASIC

@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API 

define view I_PPM_ProjectRole
    as select from   dpr_part      as role 
    left outer join  cgpl_hierarchy                      as hier on hier.guid = role.guid
    left outer join  I_PPM_Task                          as pst on pst.TaskUUID = hier.up
    association [1..1] to I_PPM_ProjectRoleText          as _ProjectRoleText           on $projection.ProjectRoleUUID = _ProjectRoleText.ProjectRoleUUID     
    association [1..*] to I_PPM_ProjectRoleTypeText      as _ProjectRoleTypeText       on $projection.ProjectRoleType = _ProjectRoleTypeText. ProjectRoleType 
    association [1..1] to I_PPM_ProjectRoleType          as _ProjectRoleType           on $projection.ProjectRoleType = _ProjectRoleType.ProjectRoleType 
  {
  @ObjectModel.text.association: '_ProjectRoleText'
  key cast( role.guid as /s4ppm/tv_entity_guid )              as ProjectRoleUUID,
     role.participant_role   as ProjectRoleType,
      'MTG'                  as ObjectType,
      // hier.up             as TaskUUID,

      pst.TaskUUID                      as ProjectSummaryTaskUUID,
      pst.ProjectUUID,
      role.participant_id          as ProjectRole,
      _ProjectRoleText,
      _ProjectRoleTypeText,
      _ProjectRoleType,
 //Authorization check relevant data     

      ProjectInternalID,
      WBSElementInternalID,
      pst._I_Project,
      pst._I_Project.ProjectProfileCode as ProjectProfileCode, 
      pst._I_Project.FunctionalArea     as FunctionalArea,
      pst._I_Project.CompanyCode        as CompanyCode,
      pst._ProjObj,
      pst._AuthUser,
      pst._AuthSubst,
      pst._AuthRole,
      pst._AuthGroup 
}
where
  role.concrete_role = '' 
  
  
  
  
  
 /*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PPM_TASK",
"I_PROJECTBASICDATA",
"CGPL_HIERARCHY",
"DPR_PART"
],
"ASSOCIATED":
[
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH",
"I_PPM_PROJECTROLETEXT",
"I_PPM_PROJECTROLETYPE",
"I_PPM_PROJECTROLETYPETEXT",
"I_PROJECTBASICDATA",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[
"I_PPM_TASK"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/