I_WorkForcePersonSearch

DDL: I_WORKFORCEPERSONSEARCH SQL: IWORKPRSNSEARCH Type: view COMPOSITE

Workforce Person basic details

I_WorkForcePersonSearch is a Composite CDS View that provides data about "Workforce Person basic details" in SAP S/4HANA. It reads from 5 data sources (I_WorkforceAssignment, I_WorkforceAssignmentDetails, I_BusinessPartner, I_BPUsrExternalID, I_WorkforceAssignmentKeyMap) and exposes 8 fields with key field EmployeeInternalID.

Data Sources (5)

SourceAliasJoin Type
I_WorkforceAssignment assgmt inner
I_WorkforceAssignmentDetails assgmtdets inner
I_BusinessPartner bp from
I_BPUsrExternalID bpexid inner
I_WorkforceAssignmentKeyMap keymap inner

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName IWORKPRSNSEARCH view
AbapCatalog.preserveKey true view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
VDM.viewType #COMPOSITE view
VDM.lifecycle.status #DEPRECATED view
VDM.lifecycle.successor I_WorkerFactSheetSearch view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
EndUserText.label Workforce Person basic details view

Fields (8)

KeyFieldSource TableSource FieldDescription
KEY EmployeeInternalID I_BusinessPartner BusinessPartner
Employee I_BPUsrExternalID BPIdentificationNumber
EmployeeFullName I_BusinessPartner PersonFullName
LastName I_BusinessPartner LastName
FirstName I_BusinessPartner FirstName
EmployeeSkillTagName EmployeeSkillTags EmployeeSkillTagName
AuthorizationGroup I_BusinessPartner AuthorizationGroup
IsBusinessPurposeCompleted I_BusinessPartner IsBusinessPurposeCompleted
@AbapCatalog.sqlViewName: 'IWORKPRSNSEARCH'
@AbapCatalog.preserveKey:true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType:  #COMPOSITE
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'I_WorkerFactSheetSearch' 
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@EndUserText.label: 'Workforce Person basic details'
define view I_WorkForcePersonSearch
  as select from           I_BusinessPartner            as bp
    inner join             I_WorkforceAssignment        as assgmt            on assgmt.BusinessPartner             = bp.BusinessPartner
                                                                             and(
                                                                               (
                                                                                 assgmt.WorkforceAssgmtStartDate   <= $session.system_date
                                                                                 and assgmt.WorkforceAssgmtEndDate >= $session.system_date
                                                                               )
                                                                               or(
                                                                                 assgmt.WorkforceAssgmtStartDate   >= $session.system_date
                                                                               )
                                                                             )




    inner join             I_WorkforceAssignmentDetails as assgmtdets        on assgmt.WorkforceAssignment             = assgmtdets.WorkforceAssignment
                                                                             and(
                                                                               (
                                                                                 assgmtdets.WorkforceAssgmtStartDate   <= $session.system_date
                                                                                 and assgmtdets.WorkforceAssgmtEndDate >= $session.system_date
                                                                               )
                                                                               or(
                                                                                 assgmtdets.WorkforceAssgmtStartDate   >= $session.system_date
                                                                               )
                                                                             )

    inner join             I_BPUsrExternalID            as bpexid            on bp.BusinessPartner         = bpexid.BusinessPartner
                                                                             and(
                                                                               bpexid.BPIdentificationType = 'HCM001'
                                                                               or // HCM001 - Employee ID

                                                                               bpexid.BPIdentificationType = 'HCM030'
                                                                               or // HCM030 - Service Agent

                                                                               bpexid.BPIdentificationType = 'HCM031'
                                                                             )    // HCM031 - Freelancer


  inner join      I_WorkforceAssignmentKeyMap       as keymap           on  keymap.WorkforceAssignment = assgmt.WorkforceAssignment


   left outer to one join I_EmployeeskillTags   as EmployeeSkillTags on  EmployeeSkillTags.PersonnelNumber      = keymap.CentralPerson
                                                                     and EmployeeSkillTags.EmployeeSkillTagType = 'U'


   // left outer to one join I_EmployeeskillTags          as EmployeeSkillTags on  EmployeeSkillTags.PersonnelNumber      = assgmt.WorkforceAssignment

    //                                                                         and EmployeeSkillTags.EmployeeSkillTagType = 'U'



{
  key bp.BusinessPartner                     as EmployeeInternalID,
      bpexid.BPIdentificationNumber          as Employee,
      bp.PersonFullName                      as EmployeeFullName,
      bp.LastName                            as LastName,
      bp.FirstName                           as FirstName,

      EmployeeSkillTags.EmployeeSkillTagName as EmployeeSkillTagName,
      bp.AuthorizationGroup                  as AuthorizationGroup,
      bp.IsBusinessPurposeCompleted          as IsBusinessPurposeCompleted


}
where
          bp.BusinessPartnerCategory           = '1'
  and     assgmtdets.WorkforceAssignmentStatus = '1'
  and
  (
    (
          assgmtdets.WorkforceAssgmtStartDate  <= $session.system_date
      and assgmtdets.WorkforceAssgmtEndDate    >= $session.system_date
    )
    or(
          assgmtdets.WorkforceAssgmtStartDate  >= $session.system_date
    )
  )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BPUSREXTERNALID",
"I_BUSINESSPARTNER",
"I_EMPLOYEESKILLTAGS",
"I_WORKFORCEASSIGNMENT",
"I_WORKFORCEASSIGNMENTDETAILS",
"I_WORKFORCEASSIGNMENTKEYMAP"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/