R_WorkforcePersonTP_3
Workforce Person Transactional Processing
R_WorkforcePersonTP_3 is a Transactional CDS View that provides data about "Workforce Person Transactional Processing" in SAP S/4HANA. It reads from 4 data sources (I_AddressPersonName, I_BusinessPartner, R_BPUserIdentification, R_BPUsrBusRoleUnique) and exposes 46 fields with key field WorkforcePersonExternalID. It has 4 associations to related views. Part of development package WFD_INT_RAP_ODATA.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| I_AddressPersonName | _AddressPersonName | inner |
| I_BusinessPartner | _BP | from |
| R_BPUserIdentification | _BPIdentification | inner |
| R_BPUsrBusRoleUnique | _BPRole | inner |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_WrkFrcPersnMainEmployment | _mainemployment | _mainemployment.BusinessPartner = _BP.BusinessPartner |
| [0..*] | R_WorkAssignmentTP_3 | _WorkAssignment | |
| [1..*] | R_WorkforcePersonRoleTP_3 | _WorkforcePersonRole | |
| [0..*] | R_WorkforcePersonSkillTagTP_3 | _WorkforcePersonSkillTag | |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| EndUserText.label | Workforce Person Transactional Processing | view | |
| VDM.viewType | #TRANSACTIONAL | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.representativeKey | WorkforcePersonExternalID | view | |
| ObjectModel.sapObjectNodeType.name | WorkforcePerson | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| AccessControl.personalData.blocking | #REQUIRED | view |
Fields (46)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | WorkforcePersonExternalID | R_BPUserIdentification | BPIdentificationNumber | |
| BusinessPartner | I_BusinessPartner | BusinessPartner | ||
| BusinessPartnerUUID | I_BusinessPartner | BusinessPartnerUUID | ||
| FullName | I_AddressPersonName | PersonFullName | Full Name | |
| FormOfAddress | I_BusinessPartner | FormOfAddress | ||
| FirstName | I_BusinessPartner | FirstName | ||
| LastName | I_BusinessPartner | LastName | ||
| AdditionalLastName | I_BusinessPartner | AdditionalLastName | ||
| BirthName | I_BusinessPartner | BusinessPartnerBirthName | ||
| MiddleName | I_BusinessPartner | MiddleName | ||
| AcademicTitle | I_BusinessPartner | AcademicTitle | ||
| AcademicTitle2 | I_BusinessPartner | AcademicTitle2 | ||
| BusinessPartnerSupplementName | I_BusinessPartner | BusinessPartnerSupplementName | ||
| LastNamePrefix | I_BusinessPartner | LastNamePrefix | ||
| LastNameSecondPrefix | I_BusinessPartner | LastNameSecondPrefix | ||
| BusinessPartnerNicknameLabel | I_BusinessPartner | BusinessPartnerNicknameLabel | ||
| Initials | I_BusinessPartner | Initials | ||
| NativePreferredLanguage | I_BusinessPartner | CorrespondenceLanguage | ||
| DestinationLocationCountry | _WorkplaceAddress | DestinationLocationCountry | ||
| PhoneNumber | _WorkplaceAddress | PhoneNumber | ||
| PhoneNumberExtension | _WorkplaceAddress | PhoneNumberExtension | ||
| MblPhoneDestinationLocCountry | _WorkplaceAddress | MblPhoneDestinationLocCountry | ||
| MobilePhoneNumber | _WorkplaceAddress | MobilePhoneNumber | ||
| DefaultEmailAddress | _WorkplaceAddress | DefaultEmailAddress | ||
| CreationDate | I_BusinessPartner | CreationDate | ||
| CreationTime | I_BusinessPartner | CreationTime | ||
| LastChangeDate | I_BusinessPartner | LastChangeDate | ||
| LastChangeTime | I_BusinessPartner | LastChangeTime | ||
| ETag | I_BusinessPartner | ETag | ||
| AuthorizationGroup | I_BusinessPartner | AuthorizationGroup | ||
| IsBusinessPurposeCompleted | I_BusinessPartner | IsBusinessPurposeCompleted | ||
| MainEmployment | _mainemployment | MainEmployment | ||
| DataControllerSet | I_BusinessPartner | DataControllerSet | ||
| DataController1 | I_BusinessPartner | DataController1 | ||
| DataController2 | I_BusinessPartner | DataController2 | ||
| DataController3 | I_BusinessPartner | DataController3 | ||
| DataController4 | I_BusinessPartner | DataController4 | ||
| DataController5 | I_BusinessPartner | DataController5 | ||
| DataController6 | I_BusinessPartner | DataController6 | ||
| DataController7 | I_BusinessPartner | DataController7 | ||
| DataController8 | I_BusinessPartner | DataController8 | ||
| DataController9 | I_BusinessPartner | DataController9 | ||
| DataController10 | I_BusinessPartner | DataController10 | ||
| _WorkAssignment | _WorkAssignment | |||
| _WorkforcePersonRole | _WorkforcePersonRole | |||
| _WorkforcePersonSkillTag | _WorkforcePersonSkillTag |
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Workforce Person Transactional Processing'
@VDM: {
viewType: #TRANSACTIONAL,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@ObjectModel: {
usageType.serviceQuality: #C,
usageType.sizeCategory : #XXL,
usageType.dataClass: #MASTER,
supportedCapabilities: [#TRANSACTIONAL_PROVIDER]
//modelingPattern: #TRANSACTIONAL_INTERFACE
}
@ObjectModel.alternativeKey: [{id: 'BusinessPartner'}, {id: 'BusinessPartnerUUID'}, {id: 'WorkforcePersonExternalUUID'}]
@ObjectModel.representativeKey: 'WorkforcePersonExternalID'
@ObjectModel.sapObjectNodeType.name: 'WorkforcePerson'
@Metadata.ignorePropagatedAnnotations: true
@AccessControl.personalData.blocking: #REQUIRED
@Consumption.dbHints:[ 'USE_HEX_PLAN' ]
define root view entity R_WorkforcePersonTP_3
as select from I_BusinessPartner as _BP
// inner join P_BPUSRPERSONEXTERNALID as _BPIdentification on _BPIdentification.BusinessPartner = _BP.BusinessPartner
inner join R_BPUserIdentification as _BPIdentification on _BPIdentification.BusinessPartner = _BP.BusinessPartner
inner join I_AddressPersonName as _AddressPersonName on _AddressPersonName.AddressPersonID = _BP.PersonNumber
and _AddressPersonName.AddressRepresentationCode = ''
// inner join P_BPUsrBURoleUnique as _BPRole on _BPRole.BusinessPartner = _BP.BusinessPartner
inner join R_BPUsrBusRoleUnique as _BPRole on _BPRole.BusinessPartner = _BP.BusinessPartner
left outer to many join I_WorkplaceAddress as _WorkplaceAddress on _WorkplaceAddress.BusinessPartnerUUID = _BP.BusinessPartnerUUID
// left outer join I_WrkFrcPersnMainEmployment as _mainemployment on _mainemployment.BusinessPartner = _BP.BusinessPartner
// association [0..*] to P_WorkplaceAddress as _WorkplaceAddress on _WorkplaceAddress.BusinessPartnerUUID = _BP.BusinessPartnerUUID
composition [0..*] of R_WorkAssignmentTP_3 as _WorkAssignment
composition [1..*] of R_WorkforcePersonRoleTP_3 as _WorkforcePersonRole
composition [0..*] of R_WorkforcePersonSkillTagTP_3 as _WorkforcePersonSkillTag
association [0..1] to I_WrkFrcPersnMainEmployment
as _mainemployment on _mainemployment.BusinessPartner = _BP.BusinessPartner
// association [0..*] to I_BuPaIdentification as _BPIdentificationHCM034 on _BP.BusinessPartner = _BPIdentificationHCM034.BusinessPartner
// and _BPIdentificationHCM034.BPIdentificationType = 'HCM034'
// association [0..1] to E_BP_D as _BusinessPartnerExt on $projection.BusinessPartner = _BusinessPartnerExt.BusinessPartner
{
key _BPIdentification.BPIdentificationNumber as WorkforcePersonExternalID, //PersonExternalID
_BP.BusinessPartner,
_BP.BusinessPartnerUUID,
// _BPIdentificationHCM034.BPIdentificationNumber as WorkforcePersonExternalUUID,
@Semantics.text:true
@EndUserText.label: 'Full Name'
_AddressPersonName.PersonFullName as FullName,
_BP.FormOfAddress,
/* Person Data */
_BP.FirstName,
_BP.LastName,
_BP.AdditionalLastName,
_BP.BusinessPartnerBirthName as BirthName,
_BP.MiddleName,
_BP.AcademicTitle,
_BP.AcademicTitle2,
_BP.BusinessPartnerSupplementName,
_BP.LastNamePrefix,
@Semantics.text:true
_BP.LastNameSecondPrefix,
_BP.BusinessPartnerNicknameLabel,
_BP.Initials,
_BP.CorrespondenceLanguage as NativePreferredLanguage,
_WorkplaceAddress.DestinationLocationCountry,
_WorkplaceAddress.PhoneNumber,
_WorkplaceAddress.PhoneNumberExtension,
_WorkplaceAddress.MblPhoneDestinationLocCountry,
_WorkplaceAddress.MobilePhoneNumber,
_WorkplaceAddress.DefaultEmailAddress,
@Feature: 'WFD_FT_ODATA_DELTAFIELDS'
_BP.CreationDate,
@Feature: 'WFD_FT_ODATA_DELTAFIELDS'
_BP.CreationTime,
_BP.LastChangeDate,
@Feature: 'WFD_FT_ODATA_DELTAFIELDS'
_BP.LastChangeTime,
_BP.ETag,
_BP.AuthorizationGroup,
_BP.IsBusinessPurposeCompleted,
_mainemployment.MainEmployment,
_BP.DataControllerSet,
_BP.DataController1,
_BP.DataController2,
_BP.DataController3,
_BP.DataController4,
_BP.DataController5,
_BP.DataController6,
_BP.DataController7,
_BP.DataController8,
_BP.DataController9,
_BP.DataController10,
// cast ( hextobin( '00000000000000000000000000000000' ) as sysuuid_x16 ) as PID_Assoc, //To Store Preliminary ID
_WorkAssignment,
_WorkforcePersonRole,
_WorkforcePersonSkillTag
}
where
_BP.BusinessPartnerCategory = '1' //Person
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