I_ENGAGEMENTPROJECTROLE
Roles for an Engagement Project
I_ENGAGEMENTPROJECTROLE is a CDS View in S/4HANA. Roles for an Engagement Project. It contains 4 fields. 3 CDS views read from this table.
CDS Views using this table (3)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| C_EngagementProjectRoles | view | from | CONSUMPTION | Project Roles restriction in BADI |
| P_Customerprojectcontacts | view | from | CONSUMPTION | |
| P_EngagementProjectRole | view | from | COMPOSITE |
Fields (4)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | EngagementProject | CustomerProject,EngagementProject | 3 |
| KEY | EngagementProjectTeamRole | EngagementProjectTeamRole | 2 |
| EmploymentInternalID | EmploymentInternalID,PersonnelNumber | 2 | |
| EngagementProjectUUID | CustomerProjectUUID | 1 |
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'IENGMTPROJROLE'
@AbapCatalog.preserveKey:true
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Roles for an Engagement Project'
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@AccessControl.personalData.blocking: #NOT_REQUIRED
define view I_EngagementProjectRole
as select from I_EngagementProject as EngagementProject
inner join I_EngagementProjectTeam as EngagementProjectTeam on EngagementProject.EngagementProjectUUID = EngagementProjectTeam.EngagementProjectUUID
and EngagementProject.EngagementProject = EngagementProjectTeam.EngagementProjectTeamName
left outer join I_EngagementProjectTeamRole as EngagementProjectTeamRole on EngagementProjectTeam.EngagementProjectTeamUUID = EngagementProjectTeamRole.EngagementProjectTeamUUID
left outer join I_EngmtProjTeamMember as EngmtProjTeamMember on EngagementProjectTeamRole.EngagementProjectTeamRoleUUID = EngmtProjTeamMember.EngagementProjectTeamRoleUUID
left outer join I_EngagementProjectMember as EngagementProjectMember on EngmtProjTeamMember.EngagementProjectMemberUUID = EngagementProjectMember.EngagementProjectMemberUUID
association [0..*] to I_PersnWrkAgreementDet as _PersonWorkAgreement on $projection.EmploymentInternalID = _PersonWorkAgreement.PersonWorkAgreement
//and $projection.ProjectStartDate >= _Employment.StartDate
association [1..1] to I_EngagementProject as _EngagementProject on $projection.EngagementProject = _EngagementProject.EngagementProject
association [0..*] to I_EngmtProjectRoleText as _Text on $projection.EngagementProjectTeamRole = _Text.EngagementProjectRole
{
//--[ GENERATED:012:GlBfhyJl7jY4oBIOE}WCZW
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_EngagementProjectStdVH',
element: 'EngagementProject' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_EngagementProject'
key EngagementProject.EngagementProject as EngagementProject,
key EngagementProjectTeamRole.EngagementProjectTeamRole as EngagementProjectTeamRole,
EngagementProject.ProjectStartDate as ProjectStartDate,
cast( EngagementProjectTeam.EngagementProjectUUID as /cpd/eng_db_key preserving type ) as EngagementProjectUUID,
cast(EngagementProjectTeam.EngagementProjectTeamUUID as /cpd/team_db_key preserving type ) as EngagementProjectTeamUUID,
cast(EngagementProjectTeamRole.EngagementProjectTeamRoleUUID as /cpd/eng_team_role_db_key preserving type ) as EngagementProjectTeamRoleUUID,
cast(EngmtProjTeamMember.EngmtProjTeamMemberUUID as /cpd/eng_team_member_db_key preserving type ) as EngmtProjTeamMemberUUID,
cast(EngmtProjTeamMember.EngagementProjectMemberUUID as /cpd/eng_proj_member_db_key preserving type ) as EngagementProjectMemberUUID,
EngagementProjectMember.EmploymentInternalID as EmploymentInternalID,
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'BusinessPartnerMemberType'
EngagementProjectMember.BusinessPartnerType as BusinessPartnerType,
EngagementProjectMember.BusinessPartnerType as BusinessPartnerMemberType,
//associations
// For Authorization
// case when EngagementProjectMember.EmploymentInternalID is not null and _PersonWorkAgreement._WorkforcePerson.UserID is null
// then '*****'
// else
_PersonWorkAgreement._WorkforcePerson.UserID as BusinessUser,
_PersonWorkAgreement._WorkforcePerson.PersonFullName,
_PersonWorkAgreement._WorkforcePerson.PersonExternalID,
// case when EngagementProjectMember.EmploymentInternalID is not null and _PersonWorkAgreement._WorkforcePerson.PersonFullName is null
// then '*****'
// else
// _PersonWorkAgreement._WorkforcePerson.PersonFullName
// end as EmployeeFullName,
//_PersonWorkAgreement._WorkforcePerson.BusinessPartnerUUID as BusinessPartnerUUID,
_PersonWorkAgreement,
_EngagementProject,
_Text
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENGAGEMENTPROJECT",
"I_ENGAGEMENTPROJECTMEMBER",
"I_ENGAGEMENTPROJECTTEAM",
"I_ENGAGEMENTPROJECTTEAMROLE",
"I_ENGMTPROJTEAMMEMBER",
"I_PERSNWRKAGREEMENTDET",
"I_WORKFORCEPERSONDET"
],
"ASSOCIATED":
[
"I_ENGAGEMENTPROJECT",
"I_ENGMTPROJECTROLETEXT",
"I_PERSNWRKAGREEMENTDET"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/