I_WorkforcePersonDEX
Workforce Person
I_WorkforcePersonDEX is a Composite CDS View that provides data about "Workforce Person" in SAP S/4HANA. It reads from 1 data source (wfd_d_keymap) and exposes 14 fields with key field BusinessPartner. It has 3 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| wfd_d_keymap | keymap | inner |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_ServicePerformerToSuplr | _ServicePerformerToSupplier | $projection.BusinessPartner = _ServicePerformerToSupplier.Person |
| [0..1] | I_WorkplaceAddress | _WorkplaceAddress | bp.BusinessPartnerUUID = _WorkplaceAddress.BusinessPartnerUUID |
| [1..*] | I_WorkAssgmtDetsDEX | _WorkAssgmtDets | $projection.BusinessPartner = _WorkAssgmtDets.BusinessPartner |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| VDM.viewType | #COMPOSITE | view | |
| Analytics.dataExtraction.enabled | true | view | |
| ObjectModel.modelingPattern | #NONE | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.sapObjectNodeType.name | WorkforcePerson | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| EndUserText.label | Workforce Person | view |
Fields (14)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BusinessPartner | bp | BusinessPartner | |
| FirstName | bp | FirstName | ||
| LastName | bp | LastName | ||
| MiddleName | bp | MiddleName | ||
| PersonFullName | bp | PersonFullName | ||
| BirthName | bp | BusinessPartnerBirthName | ||
| Initials | bp | Initials | ||
| NativePreferredLanguage | bp | CorrespondenceLanguage | ||
| LastNamePrefix | bp | LastNamePrefix | ||
| BusinessPartnerUUID | bp | BusinessPartnerUUID | ||
| UserID | user | UserID | ||
| _ServicePerformerToSupplier | _ServicePerformerToSupplier | |||
| _WorkplaceAddress | _WorkplaceAddress | |||
| _WorkAssgmtDets | _WorkAssgmtDets |
@AccessControl.authorizationCheck:#MANDATORY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@VDM.viewType: #COMPOSITE
@Analytics.dataExtraction: {
enabled: true,
delta.changeDataCapture:
{
mapping:[
{
table: 'but000', role: #MAIN,
viewElement: ['BusinessPartner'],
tableElement: ['partner']
},
{
table: 'but0id', role: #LEFT_OUTER_TO_ONE_JOIN,
viewElement: ['BusinessPartner', 'BPIdentificationType', 'PersonExternalID'],
tableElement: ['partner', 'type', 'idnumber']
},
{
table: 'usr21', role: #LEFT_OUTER_TO_ONE_JOIN,
viewElement: ['UserID'],
tableElement: ['bname']
}
]
}
}
@ObjectModel.supportedCapabilities:[ #EXTRACTION_DATA_SOURCE ]
@ObjectModel.modelingPattern: #NONE
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.sapObjectNodeType.name:'WorkforcePerson'
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Workforce Person'
define view entity I_WorkforcePersonDEX
as select distinct from I_BusinessPartner as bp
inner join wfd_d_keymap as keymap on bp.BusinessPartner = keymap.business_partner_id
left outer to one join I_BuPaIdentification as BPIdEmp on
( BPIdEmp.BusinessPartner = keymap.business_partner_id
and BPIdEmp.BPIdentificationType = 'HCM001' ) // HCM001 - Employee ID
left outer to one join I_BuPaIdentification as BPIdCon on
( BPIdCon.BusinessPartner = keymap.business_partner_id
and BPIdCon.BPIdentificationType = 'HCM030' ) // HCM030 - Service Agent
left outer to one join I_User as user on user.BusinessPartnerUUID = bp.BusinessPartnerUUID
association [0..*] to I_ServicePerformerToSuplr as _ServicePerformerToSupplier on $projection.BusinessPartner = _ServicePerformerToSupplier.Person
association [0..1] to I_WorkplaceAddress as _WorkplaceAddress on bp.BusinessPartnerUUID = _WorkplaceAddress.BusinessPartnerUUID
association [1..*] to I_WorkAssgmtDetsDEX as _WorkAssgmtDets on $projection.BusinessPartner = _WorkAssgmtDets.BusinessPartner
{
key bp.BusinessPartner as BusinessPartner,
case
when BPIdEmp.BPIdentificationNumber <> ' '
then BPIdEmp.BPIdentificationNumber
else
BPIdCon.BPIdentificationNumber
end as PersonExternalID,
case
when BPIdEmp.BPIdentificationType <> ' '
then BPIdEmp.BPIdentificationType
else
BPIdCon.BPIdentificationType
end as BPIdentificationType,
bp.FirstName as FirstName,
bp.LastName as LastName,
bp.MiddleName as MiddleName,
bp.PersonFullName as PersonFullName,
bp.BusinessPartnerBirthName as BirthName,
bp.Initials as Initials,
bp.CorrespondenceLanguage as NativePreferredLanguage,
bp.LastNamePrefix as LastNamePrefix,
bp.BusinessPartnerUUID as BusinessPartnerUUID,
user.UserID as UserID,
_ServicePerformerToSupplier,
_WorkplaceAddress,
_WorkAssgmtDets
}
where
keymap.block_ind = ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUPAIDENTIFICATION",
"I_BUSINESSPARTNER",
"I_USER",
"WFD_D_KEYMAP"
],
"ASSOCIATED":
[
"I_SERVICEPERFORMERTOSUPLR",
"I_WORKASSGMTDETSDEX",
"I_WORKPLACEADDRESS"
],
"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