I_WorkforcePersonDet

DDL: I_WORKFORCEPERSONDET SQL: IWRKFRCPERSNDET Type: view COMPOSITE Package: CPD_CDS

Retrive Workforce Person Details

I_WorkforcePersonDet is a Composite CDS View that provides data about "Retrive Workforce Person Details" in SAP S/4HANA. It reads from 1 data source (I_WorkforcePerson) and exposes 18 fields with key field Person. It has 7 associations to related views. Part of development package CPD_CDS.

Data Sources (1)

SourceAliasJoin Type
I_WorkforcePerson I_WorkforcePerson from

Associations (7)

CardinalityTargetAliasCondition
[1..1] I_BusinessPartner _BusinessPartner $projection.Person = _BusinessPartner.BusinessPartner
[0..*] I_ServicePerformerToSuplr _ServicePerformerToSupplier $projection.Person = _ServicePerformerToSupplier.Person
[1..*] I_PersonWorkAgreement_1 _PersonWorkAgreement $projection.Person = _PersonWorkAgreement.Person
[0..1] I_WorkplaceAddress _WorkplaceAddress $projection.BusinessPartnerUUID = _WorkplaceAddress.BusinessPartnerUUID
[0..*] I_BusinessPartnerToBPRole _BusinessPartnerToBPRole $projection.Person = _BusinessPartnerToBPRole.BusinessPartner and( _BusinessPartnerToBPRole.BusinessPartnerRole = 'BUP003' or _BusinessPartnerToBPRole.BusinessPartnerRole = 'BBP005' or _BusinessPartnerToBPRole.BusinessPartnerRole = 'BBP010' )
[0..*] I_BusinessPartnerToBPRole_2 _BusinessPartnerToBPRole_2 $projection.Person = _BusinessPartnerToBPRole_2.BusinessPartner and( _BusinessPartnerToBPRole_2.BusinessPartnerRole = 'BUP003' or _BusinessPartnerToBPRole_2.BusinessPartnerRole = 'BBP005' or _BusinessPartnerToBPRole_2.BusinessPartnerRole = 'BBP010' )
[1] I_User _User $projection.BusinessPartnerUUID = _User.BusinessPartnerUUID

Annotations (13)

NameValueLevelField
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AbapCatalog.sqlViewName IWRKFRCPERSNDET view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #MANDATORY view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MASTER view
EndUserText.label Retrive Workforce Person Details view
AccessControl.personalData.blocking #REQUIRED view
AbapCatalog.preserveKey true view
Metadata.ignorePropagatedAnnotations true view

Fields (18)

KeyFieldSource TableSource FieldDescription
KEY Person Person
PersonExternalID PersonExternalID
FirstName FirstName
LastName LastName
MiddleName MiddleName
AdditionalLastName AdditionalLastName
PersonFullName PersonFullName
BusinessPartnerUUID BusinessPartnerUUID
AuthorizationGroup AuthorizationGroup
IsBusinessPurposeCompleted IsBusinessPurposeCompleted
UserID _User UserID
_BusinessPartner _BusinessPartner
_ServicePerformerToSupplier _ServicePerformerToSupplier
_PersonWorkAgreement _PersonWorkAgreement
_WorkplaceAddress _WorkplaceAddress
_BusinessPartnerToBPRole _BusinessPartnerToBPRole
_BusinessPartnerToBPRole_2 _BusinessPartnerToBPRole_2
_User _User
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@AbapCatalog.sqlViewName: 'IWRKFRCPERSNDET'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MASTER
@EndUserText.label: 'Retrive Workforce Person Details'
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.privilegedAssociations: [ '_User' ] 
@AbapCatalog.preserveKey:true
@Metadata.ignorePropagatedAnnotations: true

@Consumption.dbHints: [ 'USE_HEX_PLAN' ]

define view I_WorkforcePersonDet
  as select from I_WorkforcePerson
  association [1..1] to I_BusinessPartner         as _BusinessPartner            on $projection.Person = _BusinessPartner.BusinessPartner
  association [0..*] to I_ServicePerformerToSuplr as _ServicePerformerToSupplier on $projection.Person = _ServicePerformerToSupplier.Person
  association [1..*] to I_PersonWorkAgreement_1   as _PersonWorkAgreement        on $projection.Person = _PersonWorkAgreement.Person
  association [0..1] to I_WorkplaceAddress        as _WorkplaceAddress           on $projection.BusinessPartnerUUID = _WorkplaceAddress.BusinessPartnerUUID
  association [0..*] to I_BusinessPartnerToBPRole as _BusinessPartnerToBPRole  on $projection.Person                          = _BusinessPartnerToBPRole.BusinessPartner
                                                                                 and(
                                                                                   _BusinessPartnerToBPRole.BusinessPartnerRole = 'BUP003'
                                                                                   or // BUP003 - Employee

                                                                                   _BusinessPartnerToBPRole.BusinessPartnerRole = 'BBP005'
                                                                                   or // BBP005 - Service Agent

                                                                                   _BusinessPartnerToBPRole.BusinessPartnerRole = 'BBP010'
                                                                                 )    // BBP010 - Freelancer  )

                                                                                 
  association [0..*] to I_BusinessPartnerToBPRole_2 as _BusinessPartnerToBPRole_2  on $projection.Person                          = _BusinessPartnerToBPRole_2.BusinessPartner
                                                                                 and(
                                                                                   _BusinessPartnerToBPRole_2.BusinessPartnerRole = 'BUP003'
                                                                                   or // BUP003 - Employee

                                                                                   _BusinessPartnerToBPRole_2.BusinessPartnerRole = 'BBP005'
                                                                                   or // BBP005 - Service Agent

                                                                                   _BusinessPartnerToBPRole_2.BusinessPartnerRole = 'BBP010'
                                                                                 )    // BBP010 - Freelancer  )

  association [1]    to I_User                    as _User                       on $projection.BusinessPartnerUUID = _User.BusinessPartnerUUID
{
  key Person,
      PersonExternalID,
      FirstName,
      LastName,
      MiddleName,
      AdditionalLastName,
      PersonFullName,
      BusinessPartnerUUID,
      AuthorizationGroup,
      @Semantics.booleanIndicator:true
      IsBusinessPurposeCompleted,
      
      _User.UserID,
      _BusinessPartner,
      _ServicePerformerToSupplier,
      _PersonWorkAgreement,
      _WorkplaceAddress,

       @VDM.lifecycle: {
         successor: '_BusinessPartnerToBPRole_2',
         status: #DEPRECATED
       }
      _BusinessPartnerToBPRole,
      _BusinessPartnerToBPRole_2,
      
      @Consumption.hidden: true
       _User
         
}