C_EngmntProjProjectManagerVH is a Consumption CDS View that provides data about "Value Help for project managers" in SAP S/4HANA. It reads from 2 data sources (I_PersonWorkAgreement_1, I_PersonWorkAgrmtStatus) and exposes 19 fields with key field ProjectManager. Part of development package CPD_CDS.
@AbapCatalog.sqlViewName: 'CENGPROJPMVH'
@AbapCatalog.compiler.compareFilter: true@AbapCatalog.preserveKey: true@AccessControl.authorizationCheck: #CHECK@AccessControl.personalData.blocking: #REQUIRED@EndUserText.label: 'Value Help for project managers'
@ClientHandling.algorithm: #SESSION_VARIABLE@VDM.viewType: #CONSUMPTION@ObjectModel.dataCategory: #VALUE_HELP@Consumption.valueHelpDefault.fetchValues: #AUTOMATICALLY_WHEN_DISPLAYED@Search.searchable: true@Consumption.ranked: true@ObjectModel.usageType.dataClass: #MASTER@ObjectModel.usageType.serviceQuality: #C@ObjectModel.usageType.sizeCategory: #L@Consumption.dbHints: [ 'USE_HEX_PLAN' ]defineview C_EngmntProjProjectManagerVH
asselectdistinctfrom I_WorkforcePerson as WorkforcePerson
leftouterjoin I_PersonWorkAgreement_1 as employment on WorkforcePerson.Person = employment.Person
leftouterjoin I_PersonWorkAgrmtStatus as PersonWorkAgrmtStatus on employment.PersonWorkAgreement = PersonWorkAgrmtStatus.PersonWorkAgreement
and PersonWorkAgrmtStatus.EndDate >= $session.system_date //current and future employments
leftouter to one join I_BusinessUserBasic as BusinessUser on WorkforcePerson.BusinessPartnerUUID = BusinessUser.BusinessPartnerUUID
{
@ObjectModel.text.element: 'ProjectManagerName'
@Search.defaultSearchElement: true@Search.fuzzinessThreshold: 0.8
@Search.ranking:#HIGHkeycast(WorkforcePerson.Person as /cpd/ss_pm preserving type ) as ProjectManager,
@Semantics.text: true@Search.defaultSearchElement: true@Search.fuzzinessThreshold: 0.8
@Search.ranking:#LOWcast(WorkforcePerson.PersonFullName as /cpd/ss_pm_name preserving type ) as ProjectManagerName,
@EndUserText.label: 'Last Name'
@Search.defaultSearchElement: true@Search.fuzzinessThreshold: 0.8
@Search.ranking:#LOW
WorkforcePerson._BusinessPartner.BPLastNameSearchHelp as LastName,
@EndUserText.label: 'First Name'
@Search.defaultSearchElement: true@Search.fuzzinessThreshold: 0.8
@Search.ranking:#LOW
WorkforcePerson._BusinessPartner.BPFirstNameSearchHelp as FirstName,
@EndUserText.label: 'Person ID'
@Search.defaultSearchElement: true@Search.fuzzinessThreshold: 0.8
@Search.ranking:#LOW
WorkforcePerson.PersonExternalID,
@Search.defaultSearchElement: true@Search.fuzzinessThreshold: 0.8
@Search.ranking:#LOW
BusinessUser.UserID,
@UI.hidden: true
WorkforcePerson.AuthorizationGroup,
@UI.hidden: true
WorkforcePerson.IsBusinessPurposeCompleted,
/* Code snippet for DDL *///added only for DCL check
@Consumption.hidden:true@UI.hidden:true
WorkforcePerson._BusinessPartner.DataControllerSet as DataControllerSet,
@Consumption.hidden:true@UI.hidden:true
WorkforcePerson._BusinessPartner.DataController1 as DataController1,
//added only for DCL check
@Consumption.hidden:true@UI.hidden:true
WorkforcePerson._BusinessPartner.DataController2 as DataController2,
//added only for DCL check
@Consumption.hidden:true@UI.hidden:true
WorkforcePerson._BusinessPartner.DataController3 as DataController3,
//added only for DCL check
@Consumption.hidden:true@UI.hidden:true
WorkforcePerson._BusinessPartner.DataController4 as DataController4,
//added only for DCL check
@Consumption.hidden:true@UI.hidden:true
WorkforcePerson._BusinessPartner.DataController5 as DataController5,
@Consumption.hidden:true@UI.hidden:true
WorkforcePerson._BusinessPartner.DataController6 as DataController6,
//added only for DCL check
@Consumption.hidden:true@UI.hidden:true
WorkforcePerson._BusinessPartner.DataController7 as DataController7,
//added only for DCL check
@Consumption.hidden:true@UI.hidden:true
WorkforcePerson._BusinessPartner.DataController8 as DataController8,
//added only for DCL check
@Consumption.hidden:true@UI.hidden:true
WorkforcePerson._BusinessPartner.DataController9 as DataController9,
//added only for DCL check
@Consumption.hidden:true@UI.hidden:true
WorkforcePerson._BusinessPartner.DataController10 as DataController10
}
where
WorkAgreementStatus = '1'