I_WorkAssignmentValueHelp

DDL: I_WORKASSIGNMENTVALUEHELP Type: view_entity COMPOSITE

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 33 fields with key fields WorkAssignment, WorkAssignmentStartDate.

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 (33)

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
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
@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
@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 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,
      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
         
};