I_MasterProjectRole
Master Project Role
I_MasterProjectRole is a Composite CDS View that provides data about "Master Project Role" in SAP S/4HANA. It reads from 5 data sources (I_MasterProject, I_EngagementProjectTeamRole, I_EngagementProjectTeam, I_MstrProjMember, I_EngmtProjTeamMember) and exposes 21 fields with key fields MasterProject, ProjectRole. It has 3 associations to related views. Part of development package VDM_CPM_WS.
Data Sources (5)
| Source | Alias | Join Type |
|---|---|---|
| I_MasterProject | Project | from |
| I_EngagementProjectTeamRole | ProjectRoles | left_outer |
| I_EngagementProjectTeam | ProjectTeam | inner |
| I_MstrProjMember | ProjMembers | left_outer |
| I_EngmtProjTeamMember | TeamMembers | left_outer |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_DistinctEmployee | _Employment | $projection.EmploymentInternalID = _Employment.EmploymentInternalID |
| [1..1] | I_MstrProjRoleID | _ProjectRole | $projection.ProjectRole = _ProjectRole.ProjectRole |
| [1..1] | I_User | _User | $projection.BusinessUser = _User.UserID |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IMSTRPROJROLE | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Master Project Role | view | |
| VDM.viewType | #COMPOSITE | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| Search.searchable | true | view | |
| AccessControl.personalData.blocking | #REQUIRED | view |
Fields (21)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MasterProject | I_MasterProject | MasterProject | |
| KEY | ProjectRole | I_EngagementProjectTeamRole | EngagementProjectTeamRole | |
| StartDate | I_MasterProject | StartDate | ||
| EndDate | I_MasterProject | EndDate | ||
| BusinessUser | _Employment | BusinessUser | ||
| ProjectUUID | I_MasterProject | MasterProjectUUID | ||
| EngagementProjectTeamUUID | I_EngagementProjectTeam | EngagementProjectTeamUUID | ||
| ProjectRoleUUID | I_EngagementProjectTeamRole | EngagementProjectTeamRoleUUID | ||
| MstrProjTeamMemberUUID | I_EngmtProjTeamMember | EngmtProjTeamMemberUUID | ||
| MstrProjMemberUUID | I_EngmtProjTeamMember | EngagementProjectMemberUUID | ||
| EmploymentInternalID | I_MstrProjMember | BusinessPartner | ||
| BusinessPartnerType | I_MstrProjMember | BusinessPartnerType | ||
| EmployeeFullName | _Employment | EmployeeFullName | ||
| MasterProjectType | I_MasterProject | MasterProjectType | ||
| MasterProjectOrganization | I_MasterProject | MasterProjectOrganization | ||
| MasterProjectIsConfidential | I_MasterProject | MasterProjectIsConfidential | ||
| _ProjectRole | _ProjectRole | |||
| _Employment | _Employment | |||
| Person | _Employment | Person | ||
| _WorkforcePerson | _Employment | _WorkforcePerson | ||
| _User | _User |
@AbapCatalog.sqlViewName: 'IMSTRPROJROLE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Master Project Role'
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE
@Search.searchable: true
@AccessControl.personalData.blocking: #REQUIRED
define view I_MasterProjectRole
as select from I_MasterProject as Project
inner join I_EngagementProjectTeam as ProjectTeam on Project.MasterProjectUUID = ProjectTeam.EngagementProjectUUID
left outer join I_EngagementProjectTeamRole as ProjectRoles on ProjectTeam.EngagementProjectTeamUUID = ProjectRoles.EngagementProjectTeamUUID
left outer join I_EngmtProjTeamMember as TeamMembers on ProjectRoles.EngagementProjectTeamRoleUUID = TeamMembers.EngagementProjectTeamRoleUUID
left outer join I_MstrProjMember as ProjMembers on TeamMembers.EngagementProjectMemberUUID = ProjMembers.MstrProjMemberUUID
association [0..1] to I_DistinctEmployee as _Employment on $projection.EmploymentInternalID = _Employment.EmploymentInternalID
// and $projection.StartDate >= _Employment.StartDate
// and $projection.EndDate <= _Employment.EndDate
association [1..1] to I_MstrProjRoleID as _ProjectRole on $projection.ProjectRole = _ProjectRole.ProjectRole
association [1..1] to I_User as _User on $projection.BusinessUser = _User.UserID
{
key Project.MasterProject,
// @ObjectModel.text.association: '_Text'
@Search.defaultSearchElement: true
key ProjectRoles.EngagementProjectTeamRole as ProjectRole,
Project.StartDate as StartDate,
Project.EndDate as EndDate,
// @ObjectModel.foreignKey.association: '_User'
@Semantics.user.id: true
// _Employment._Employee.BusinessUser as BusinessUser, NOTE:2921621
_Employment.BusinessUser as BusinessUser, //NOTE:2921621
Project.MasterProjectUUID as ProjectUUID,
ProjectTeam.EngagementProjectTeamUUID,
ProjectRoles.EngagementProjectTeamRoleUUID as ProjectRoleUUID,
TeamMembers.EngmtProjTeamMemberUUID as MstrProjTeamMemberUUID,
TeamMembers.EngagementProjectMemberUUID as MstrProjMemberUUID,
@ObjectModel.text.element: 'EmployeeFullName'
ProjMembers.BusinessPartner as EmploymentInternalID,
// _Employment.PersonnelNumber as PersonnelNumber, NOTE:2921621 *removing PersonnelNumber without replacement
ProjMembers.BusinessPartnerType as BusinessPartnerType,
@Semantics.name.fullName: true
// _Employment._Employee.EmployeeFullName as EmployeeFullName, NOTE:2921621
_Employment.EmployeeFullName as EmployeeFullName, //NOTE:2921621
Project.MasterProjectType,
Project.MasterProjectOrganization,
Project.MasterProjectIsConfidential,
//associations
_ProjectRole,
_Employment,
// _Employment._Employee, NOTE:2921621
_Employment.Person, //NOTE:2921621
_Employment._WorkforcePerson, //NOTE:2921621
_User
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA