I_WorkforcePerson

DDL: I_WORKFORCEPERSON SQL: IWFPERSON Type: view COMPOSITE

Workforce Person Details

I_WorkforcePerson (Composite)

Package: Explore, extend and adapt the SAP S/4HANA Cloud Private Edition with built-in and side-by-side extension capabilities.

Workforce Person · Human Resources

I_WorkforcePerson is a Composite CDS View (Dimension) that provides data about "Workforce Person Details" in SAP S/4HANA. It reads from 3 data sources (I_BusinessPartner, P_WFPersonIdentification, I_HrRelation) and exposes 29 fields with key field Person. It has 8 associations to related views.

SAP Help Documentation

CategoryCDS Views for Human Resources
Purpose
This CDS view provides workforce person-related information. A workforce person could refer to either an internal employee or a contingent worker. This CDS view provides the data to answer the following business questions: Who are the persons in my workforce and what are their basic details? To help you decide which CDS view to use for your purposes, SAP has introduced the annotation ObjectModel.supportedCapabilities that indicates the most appropriate use cases for each CDS view. To find out what use cases are best supported by this CDS view, access the entry of the CDS view in the View Browser app and find the values for this annotation under the Annotation tab. For more information, see Supported Capabilities for CDS Views .

Prerequisites
Authorizations To use this CDS view, the following business catalogs need to be assigned to a user: BEGRU_BUPA_GRP (Authorization Group for Business Partners) B_BUP_DCPD (Business Partner Processing)

Structure
Important Fields Important fields in this view include the following: Field Name Description Person Business Partner PersonExternalID ID Number

Data Extraction
Data Extraction Type This CDS view is enabled for data extraction in full mode.

Constraints
This view reads only the business partners that have the identification type corresponding to employee, service performer, and freelancer. Note To fetch the details of the work agreements of the person, use the association _PersonWorkAgreement_1 . Do not use the association _PersonWorkAgreement .

Related Information
The following fields are created in the CDS view in accordance with BP data controller adoption: DataControllerSet, DataController1, DataController2, DataController3, DataController4, DataController5, DataController6, DataController7, DataController8, DataController9, DataController10. Note These fields may be visible in the interface of the CDS view. However, they are meant only for internal-SAP consumption and must not be consumed externally for any purposes. For more information about BP data controller authorization, refer to Assign Data Controller .

View on SAP Help Portal →

SAP API Hub

StateC1
Line of BusinessHuman Resources
Application ComponentCA-WFD
CapabilitiesData Source in SQL Select, Data Source for Defining CDS Entities, Association Target for Defining CDS Entities, Analytical Dimension, Data Source for Data Extraction
PackageHuman Resources for SAP S/4HANA Cloud Private Edition
Description <p>This view provides the prerequisites for answering the following business questions:</p> <ul> <li><p>Who are the persons in my workforce and what are their basic information about the person?</p></li> </ul>

Documentation

Data Sources (3)

SourceAliasJoin Type
I_BusinessPartner BP from
P_WFPersonIdentification PersIdentifier inner
I_HrRelation relt inner

Associations (8)

CardinalityTargetAliasCondition
[1..1] I_BusinessPartner _BusinessPartner $projection.Person = _BusinessPartner.BusinessPartner
[0..*] I_ServicePerformerToSuplr _ServicePerformerToSupplier $projection.Person = _ServicePerformerToSupplier.Person
[1..*] I_PersonWorkAgreement _PersonWorkAgreement $projection.Person = _PersonWorkAgreement.Person
[1..*] I_PersonWorkAgreement_1 _PersonWorkAgreement_1 $projection.Person = _PersonWorkAgreement_1.Person
[0..1] I_WorkplaceAddress _WorkplaceAddress $projection.BusinessPartnerUUID = _WorkplaceAddress.BusinessPartnerUUID
[0..*] I_BusinessPartnerToBPRole _BusinessPartnerToBPRole $projection.Person = _BusinessPartnerToBPRole.BusinessPartner
[0..1] I_BusinessUser _BusinessUser $projection.Person = _BusinessUser.BusinessPartner
[0..1] I_BusinessUserBasic _BusinessUserBasic $projection.Person = _BusinessUserBasic.BusinessPartner

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName IWFPERSON view
VDM.viewType #COMPOSITE view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #L view
AbapCatalog.compiler.compareFilter true view
EndUserText.label Workforce Person Details view
Analytics.dataExtraction.enabled true view
Analytics.dataCategory #DIMENSION view
AbapCatalog.preserveKey true view
Metadata.allowExtensions true view
ObjectModel.representativeKey Person view
ObjectModel.sapObjectNodeType.name WorkforcePerson view
Metadata.ignorePropagatedAnnotations true view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view

Fields (29)

KeyFieldSource TableSource FieldDescription
KEY Person I_BusinessPartner BusinessPartner Business Partner Number
PersonExternalID P_WFPersonIdentification BPIdentificationNumber Identification Number
FirstName I_BusinessPartner FirstName First Name of Business Partner (Person)
LastName I_BusinessPartner LastName Last Name of Business Partner (Person)
MiddleName I_BusinessPartner MiddleName Middle name or second forename of a person
AdditionalLastName I_BusinessPartner AdditionalLastName Other Last Name of a Person
PersonFullName I_BusinessPartner PersonFullName Full Name
BusinessPartnerUUID I_BusinessPartner BusinessPartnerUUID Business Partner GUID
AuthorizationGroup I_BusinessPartner AuthorizationGroup Authorization Group
IsBusinessPurposeCompleted I_BusinessPartner IsBusinessPurposeCompleted Business Purpose Completed Flag
DataControllerSet I_BusinessPartner DataControllerSet BP: Data Controller Set Flag
DataController1 I_BusinessPartner DataController1 BP: Data Controller (Internal Use Only)
DataController2 I_BusinessPartner DataController2 BP: Data Controller (Internal Use Only)
DataController3 I_BusinessPartner DataController3 BP: Data Controller (Internal Use Only)
DataController4 I_BusinessPartner DataController4 BP: Data Controller (Internal Use Only)
DataController5 I_BusinessPartner DataController5 BP: Data Controller (Internal Use Only)
DataController6 I_BusinessPartner DataController6 BP: Data Controller (Internal Use Only)
DataController7 I_BusinessPartner DataController7 BP: Data Controller (Internal Use Only)
DataController8 I_BusinessPartner DataController8 BP: Data Controller (Internal Use Only)
DataController9 I_BusinessPartner DataController9 BP: Data Controller (Internal Use Only)
DataController10 I_BusinessPartner DataController10 BP: Data Controller (Internal Use Only)
_BusinessPartner _BusinessPartner
_ServicePerformerToSupplier _ServicePerformerToSupplier
_PersonWorkAgreement _PersonWorkAgreement
_PersonWorkAgreement_1 _PersonWorkAgreement_1
_WorkplaceAddress _WorkplaceAddress
_BusinessPartnerToBPRole _BusinessPartnerToBPRole
_BusinessUser _BusinessUser
_BusinessUserBasic _BusinessUserBasic

Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.

-- Derived SQL interpretation of CDS view I_WorkforcePerson.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: IWFPERSON

CREATE VIEW I_WorkforcePerson AS
SELECT
  BP.BusinessPartner AS Person,
  PersIdentifier.BPIdentificationNumber AS PersonExternalID,
  BP.FirstName AS FirstName,
  BP.LastName AS LastName,
  BP.MiddleName AS MiddleName,
  BP.AdditionalLastName AS AdditionalLastName,
  BP.PersonFullName AS PersonFullName,
  BP.BusinessPartnerUUID AS BusinessPartnerUUID,
  BP.AuthorizationGroup AS AuthorizationGroup,
  BP.IsBusinessPurposeCompleted AS IsBusinessPurposeCompleted,
  BP.DataControllerSet AS DataControllerSet,
  BP.DataController1 AS DataController1,
  BP.DataController2 AS DataController2,
  BP.DataController3 AS DataController3,
  BP.DataController4 AS DataController4,
  BP.DataController5 AS DataController5,
  BP.DataController6 AS DataController6,
  BP.DataController7 AS DataController7,
  BP.DataController8 AS DataController8,
  BP.DataController9 AS DataController9,
  BP.DataController10 AS DataController10
FROM I_BusinessPartner AS BP
INNER JOIN I_HrRelation AS relt ON /* join condition not captured in parsed metadata */
INNER JOIN P_WFPersonIdentification AS PersIdentifier ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_BusinessPartner AS _BusinessPartner ON Person = _BusinessPartner.BusinessPartner  -- association [1..1]
LEFT OUTER JOIN I_ServicePerformerToSuplr AS _ServicePerformerToSupplier ON Person = _ServicePerformerToSupplier.Person  -- association [0..*]
LEFT OUTER JOIN I_PersonWorkAgreement AS _PersonWorkAgreement ON Person = _PersonWorkAgreement.Person  -- association [1..*]
LEFT OUTER JOIN I_PersonWorkAgreement_1 AS _PersonWorkAgreement_1 ON Person = _PersonWorkAgreement_1.Person  -- association [1..*]
LEFT OUTER JOIN I_WorkplaceAddress AS _WorkplaceAddress ON BusinessPartnerUUID = _WorkplaceAddress.BusinessPartnerUUID  -- association [0..1]
LEFT OUTER JOIN I_BusinessPartnerToBPRole AS _BusinessPartnerToBPRole ON Person = _BusinessPartnerToBPRole.BusinessPartner  -- association [0..*]
LEFT OUTER JOIN I_BusinessUser AS _BusinessUser ON Person = _BusinessUser.BusinessPartner  -- association [0..1]
LEFT OUTER JOIN I_BusinessUserBasic AS _BusinessUserBasic ON Person = _BusinessUserBasic.BusinessPartner  -- association [0..1]
;