I_WorkAssignmentValueHelp

DDL: I_WORKASSIGNMENTVALUEHELP Type: view_entity COMPOSITE Package: VDM_WFD_WORK_FORCE

Work Assignments of a Workforce Person

I_WorkAssignmentValueHelp is a Composite CDS View that provides data about "Work Assignments of a Workforce Person" in SAP S/4HANA. It reads from 4 data sources (I_WorkAssignmentDetailsAll, I_BusinessPartner, I_WorkAssignmentKeyMapping, I_WorkAssignmentBP) and exposes 34 fields with key fields WorkAssignment, WorkAssignmentStartDate. Part of development package VDM_WFD_WORK_FORCE.

Data Sources (4)

SourceAliasJoin Type
I_WorkAssignmentDetailsAll dets inner
I_BusinessPartner EmploymentBP inner
I_WorkAssignmentKeyMapping keymap from
I_WorkAssignmentBP WrkAssgmtBP inner

Annotations (12)

NameValueLevelField
VDM.viewType #COMPOSITE view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Work Assignments of a Workforce Person view
Metadata.ignorePropagatedAnnotations true view
Search.searchable true view
Consumption.ranked true view
ObjectModel.dataCategory #VALUE_HELP view
ObjectModel.representativeKey WorkAssignment view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MASTER view

Fields (34)

KeyFieldSource TableSource FieldDescription
KEY WorkAssignment I_WorkAssignmentKeyMapping WorkAssignment
KEY WorkAssignmentStartDate I_WorkAssignmentDetailsAll WorkAssignmentStartDate
WorkAssignmentEndDate I_WorkAssignmentDetailsAll WorkAssignmentEndDate
BusinessPartner I_WorkAssignmentKeyMapping BusinessPartner
LastName I_BusinessPartner LastName Last Name
FamilyName I_BusinessPartner BPLastNameSearchHelp Family Name
FirstName I_BusinessPartner FirstName First Name
GivenName I_BusinessPartner BPFirstNameSearchHelp Given Name
WorkforcePersonExternalID I_WorkAssignmentKeyMapping WorkforcePersonExternalID
WorkAssignmentExternalID I_WorkAssignmentKeyMapping WorkAssignmentExternalID
UserID User UserID
PersonFullName I_BusinessPartner PersonFullName
CompanyCode I_WorkAssignmentDetailsAll CompanyCode
CompanyCodeName CompanyCode CompanyCodeName
CostCenter I_WorkAssignmentDetailsAll CostCenter
CostCenterName CostCenter CostCenterName
Job I_WorkAssignmentDetailsAll WorkforcePersonJobCode
JobName JobText JobName Job Name
Country2DigitISOCode I_WorkAssignmentDetailsAll Country2DigitISOCode
AuthorizationGroup I_BusinessPartner AuthorizationGroup
IsBusinessPurposeCompleted I_BusinessPartner IsBusinessPurposeCompleted
IsBlocked I_WorkAssignmentKeyMapping IsBlocked
DataControllerSet I_BusinessPartner DataControllerSet
DataController1 I_BusinessPartner DataController1
DataController2 I_BusinessPartner DataController2
DataController3 I_BusinessPartner DataController3
DataController4 I_BusinessPartner DataController4
DataController5 I_BusinessPartner DataController5
DataController6 I_BusinessPartner DataController6
DataController7 I_BusinessPartner DataController7
DataController8 I_BusinessPartner DataController8
DataController9 I_BusinessPartner DataController9
DataController10 I_BusinessPartner DataController10
Person I_BusinessPartner BusinessPartner
@VDM.viewType: #COMPOSITE
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck:#MANDATORY
@EndUserText.label: 'Work Assignments of a Workforce Person'
@Metadata.ignorePropagatedAnnotations: true
@Search.searchable: true
@Consumption.ranked: true
@ObjectModel.dataCategory:#VALUE_HELP
@Consumption.dbHints:['USE_HEX_PLAN']
@ObjectModel.representativeKey:'WorkAssignment'
@ObjectModel.usageType:{
  serviceQuality: #C,
  sizeCategory: #L,
  dataClass: #MASTER
}

define view entity I_WorkAssignmentValueHelp
  as select from           I_WorkAssignmentKeyMapping as keymap
    inner join             I_WorkAssignmentDetailsAll as dets         on  keymap.WorkAssignment     = dets.WorkAssignment
                                                                      and dets.WorkAssignmentStatus = '1'
    inner join             I_WorkAssignmentBP         as WrkAssgmtBP  on WrkAssgmtBP.WorkAssignment = keymap.WorkAssignment
    inner join             I_BusinessPartner          as EmploymentBP on  EmploymentBP.BusinessPartner         = WrkAssgmtBP.WorkAssignmentBusinessPartner
                                                                      and EmploymentBP.BusinessPartnerCategory = '1'
    left outer to one join I_BusinessUserBasic        as User         on User.BusinessPartner = keymap.BusinessPartner
    left outer to one join I_CompanyCode              as CompanyCode  on dets.CompanyCode = CompanyCode.CompanyCode
    left outer to one join P_WRKASSGMTDETSCOSTCENTER  as CostCenter   on  dets.WorkAssignment          = CostCenter.PersonWorkAgreement
                                                                      and dets.WorkAssignmentStartDate = CostCenter.StartDate
  //    left outer to one join I_CostCenter               as CostCenter   on  dets.CostCenter              =  CostCenter.CostCenter

  //                                                                      and dets.CompanyCode             =  CostCenter.CompanyCode

  //                                                                      and CostCenter.ValidityEndDate   >= dets.WorkAssignmentEndDate

  //                                                                      and CostCenter.ValidityStartDate <= dets.WorkAssignmentEndDate


    left outer to one join I_PersonWorkAgrmtJobText   as JobText      on  JobText.Job       =  dets.WorkforcePersonJobCode
                                                                      and JobText.EndDate   >= dets.WorkAssignmentEndDate
                                                                      and JobText.StartDate <= dets.WorkAssignmentEndDate
                                                                      and JobText.Language  = $session.system_language
{
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
  key keymap.WorkAssignment,
  key dets.WorkAssignmentStartDate,
      dets.WorkAssignmentEndDate,
      keymap.BusinessPartner,
      @EndUserText.label: 'Last Name'
      EmploymentBP.LastName,
      @EndUserText.quickInfo: 'Family Name'
      @EndUserText.label: 'Family Name'
      EmploymentBP.BPLastNameSearchHelp  as FamilyName,
      @EndUserText.label: 'First Name'
      EmploymentBP.FirstName,
      @EndUserText.quickInfo: 'Given Name'
      @EndUserText.label: 'Given Name'
      EmploymentBP.BPFirstNameSearchHelp as GivenName,
      @Search: { defaultSearchElement: true, ranking: #LOW, fuzzinessThreshold: 0.8 }
      keymap.WorkforcePersonExternalID,
      keymap.WorkAssignmentExternalID,
      User.UserID,
      @Search: { defaultSearchElement: true, ranking: #LOW, fuzzinessThreshold: 0.8 }
      @Semantics.text: true
      EmploymentBP.PersonFullName,
      dets.CompanyCode,
      CompanyCode.CompanyCodeName,
      dets.CostCenter,
      //      CostCenter._Text[1: Language =  $session.system_language ].CostCenterName,

      CostCenter.CostCenterName,
      dets.WorkforcePersonJobCode        as Job,
      @EndUserText.label: 'Job Name'
      JobText.JobName                    as JobName,
      dets.Country2DigitISOCode,
      @UI.hidden
      EmploymentBP.AuthorizationGroup    as AuthorizationGroup,
      @UI.hidden
      @Semantics.booleanIndicator: true
      EmploymentBP.IsBusinessPurposeCompleted,
      keymap.IsBlocked,

      //Added only for DCL check

      @Consumption.hidden:true
      @UI.hidden:true
      EmploymentBP.DataControllerSet,
      @Consumption.hidden:true
      @UI.hidden:true
      EmploymentBP.DataController1,
      @Consumption.hidden:true
      @UI.hidden:true
      EmploymentBP.DataController2,
      @Consumption.hidden:true
      @UI.hidden:true
      EmploymentBP.DataController3,
      @Consumption.hidden:true
      @UI.hidden:true
      EmploymentBP.DataController4,
      @Consumption.hidden:true
      @UI.hidden:true
      EmploymentBP.DataController5,
      @Consumption.hidden:true
      @UI.hidden:true
      EmploymentBP.DataController6,
      @Consumption.hidden:true
      @UI.hidden:true
      EmploymentBP.DataController7,
      @Consumption.hidden:true
      @UI.hidden:true
      EmploymentBP.DataController8,
      @Consumption.hidden:true
      @UI.hidden:true
      EmploymentBP.DataController9,
      @Consumption.hidden:true
      @UI.hidden:true
      EmploymentBP.DataController10,
      @Consumption.hidden:true
      @UI.hidden:true
      EmploymentBP.BusinessPartner as Person
}