I_WorkForcePersonSearch
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)
| Source | Alias | Join Type |
|---|---|---|
| I_WorkforceAssignment | assgmt | inner |
| I_WorkforceAssignmentDetails | assgmtdets | inner |
| I_BusinessPartner | bp | from |
| I_BPUsrExternalID | bpexid | inner |
| I_WorkforceAssignmentKeyMap | keymap | inner |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA