I_WorkforcePersonTP

DDL: I_WORKFORCEPERSONTP Type: view_entity TRANSACTIONAL Package: FS4_BPU_RAP

BUM - Workforce Person TP

I_WorkforcePersonTP is a Transactional CDS View that provides data about "BUM - Workforce Person TP" in SAP S/4HANA. It reads from 4 data sources (I_AddressPersonName, I_BusinessPartner, P_BPUSRPERSONEXTERNALID, P_BPUsrBURoleUnique) and exposes 35 fields with key field WorkforcePersonExternalID. It has 3 associations to related views. Part of development package FS4_BPU_RAP.

Data Sources (4)

SourceAliasJoin Type
I_AddressPersonName _AddressPersonName inner
I_BusinessPartner _BP from
P_BPUSRPERSONEXTERNALID _BPIdentification inner
P_BPUsrBURoleUnique _BPRole inner

Associations (3)

CardinalityTargetAliasCondition
[0..*] I_BuPaIdentification _BPIdentificationHCM034 _BP.BusinessPartner = _BPIdentificationHCM034.BusinessPartner and _BPIdentificationHCM034.BPIdentificationType = 'HCM034'
[0..1] E_BP_D _BusinessPartnerExt $projection.BusinessPartner = _BusinessPartnerExt.BusinessPartner
[1..*] I_WorkforcePersonRoleTP _WorkforcePersonRole

Annotations (11)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label BUM - Workforce Person TP view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.modelingPattern #TRANSACTIONAL_INTERFACE view
ObjectModel.representativeKey WorkforcePersonExternalID view
ObjectModel.sapObjectNodeType.name WorkforcePerson view
Metadata.ignorePropagatedAnnotations true view

Fields (35)

KeyFieldSource TableSource FieldDescription
KEY WorkforcePersonExternalID P_BPUSRPERSONEXTERNALID BPIdentificationNumber
BusinessPartner I_BusinessPartner BusinessPartner
BusinessPartnerUUID I_BusinessPartner BusinessPartnerUUID
WorkforcePersonExternalUUID _BPIdentificationHCM034 BPIdentificationNumber
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
ETag I_BusinessPartner ETag
AuthorizationGroup I_BusinessPartner AuthorizationGroup
IsBusinessPurposeCompleted I_BusinessPartner IsBusinessPurposeCompleted
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
PID_Assoc
_WorkforcePersonRole _WorkforcePersonRole
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'BUM - Workforce Person TP'

@VDM: {
  viewType: #TRANSACTIONAL,
  lifecycle.contract.type: #PUBLIC_LOCAL_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
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
define root view entity I_WorkforcePersonTP
  as select from I_BusinessPartner       as _BP
    inner join   P_BPUSRPERSONEXTERNALID 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

  composition [1..*] of I_WorkforcePersonRoleTP as _WorkforcePersonRole

  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,
       _BP.ETag,
       _BP.AuthorizationGroup,
       _BP.IsBusinessPurposeCompleted,
       _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

       _WorkforcePersonRole
}
where
  _BP.BusinessPartnerCategory = '1' //Person