P_WorkforcePerson

DDL: P_WORKFORCEPERSON SQL: PWFPERSON Type: view COMPOSITE

P_WorkforcePerson is a Composite CDS View in SAP S/4HANA. It reads from 3 data sources (I_BusinessPartner, P_WFPersonIdentification, P_HrRelation) and exposes 28 fields with key field Person. It has 7 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_BusinessPartner BP from
P_WFPersonIdentification PersIdentifier inner
P_HrRelation relt inner

Associations (7)

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

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName PWFPERSON 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
AbapCatalog.preserveKey true view
ObjectModel.representativeKey Person view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
VDM.private true view

Fields (28)

KeyFieldSource TableSource FieldDescription
KEY Person I_BusinessPartner BusinessPartner Issuing Authority
PersonExternalID P_WFPersonIdentification BPIdentificationNumber Logical System
FirstName I_BusinessPartner FirstName First Name
LastName I_BusinessPartner LastName Last Name
MiddleName I_BusinessPartner MiddleName Middle Name
AdditionalLastName I_BusinessPartner AdditionalLastName Other Last Name
PersonFullName I_BusinessPartner PersonFullName Full Name
BusinessPartnerUUID I_BusinessPartner BusinessPartnerUUID UUID
AuthorizationGroup I_BusinessPartner AuthorizationGroup AuthorizGroup
IsBusinessPurposeCompleted I_BusinessPartner IsBusinessPurposeCompleted Purpose Completed
_BusinessPartner _BusinessPartner
_ServicePerformerToSupplier _ServicePerformerToSupplier
_PersonWorkAgreement _PersonWorkAgreement
_PersonWorkAgreement_1 _PersonWorkAgreement_1
_WorkplaceAddress _WorkplaceAddress
_BusinessPartnerToBPRole _BusinessPartnerToBPRole
_BusinessUser _BusinessUser
DataControllerSet I_BusinessPartner DataControllerSet Data Ctrlr. Set
DataController1 I_BusinessPartner DataController1 Data Controller
DataController2 I_BusinessPartner DataController2 Data Controller
DataController3 I_BusinessPartner DataController3 Data Controller
DataController4 I_BusinessPartner DataController4 Data Controller
DataController5 I_BusinessPartner DataController5 Data Controller
DataController6 I_BusinessPartner DataController6 Data Controller
DataController7 I_BusinessPartner DataController7 Data Controller
DataController8 I_BusinessPartner DataController8 Data Controller
DataController9 I_BusinessPartner DataController9 Data Controller
DataController10 I_BusinessPartner DataController10 Data Controller

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 P_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: PWFPERSON

CREATE VIEW P_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 P_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]
;