I_PPM_PROJECTROLE
Project Role
I_PPM_PROJECTROLE is a CDS View in S/4HANA. Project Role. It contains 12 fields. 2 CDS views read from this table.
CDS Views using this table (2)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| I_PPM_ProjectRoleText | view | from | COMPOSITE | Project Role Text |
| I_PPM_ProjectRoleTP | view | from | TRANSACTIONAL | Project Roles Transactional Object View |
Fields (12)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | ProjectRoleUUID | ProjectRoleUUID | 2 |
| _AuthGroup | _AuthGroup | 1 | |
| _AuthRole | _AuthRole | 1 | |
| _AuthSubst | _AuthSubst | 1 | |
| _AuthUser | _AuthUser | 1 | |
| _I_Project | _I_Project | 1 | |
| _ProjObj | _ProjObj | 1 | |
| ProjectInternalID | ProjectInternalID | 1 | |
| ProjectRole | ProjectRole | 1 | |
| ProjectRoleType | ProjectRoleType | 1 | |
| ProjectSummaryTaskUUID | ProjectSummaryTaskUUID | 2 | |
| WBSElementInternalID | WBSElementInternalID | 1 |
@VDM.lifecycle:
{ status: #DEPRECATED,
successor: 'I_EnterpriseProjectRole' }
@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 = ''