I_WorkforcePersonVH

DDL: I_WORKFORCEPERSONVH SQL: IWFPERSONVH Type: view COMPOSITE

Workforce Person Association Target

I_WorkforcePersonVH is a Composite CDS View that provides data about "Workforce Person Association Target" in SAP S/4HANA. It reads from 2 data sources (I_PersonWorkAgrmtStatus, I_PersonWorkAgreement_1) and exposes 19 fields with key field EmployeeExtID.

Data Sources (2)

SourceAliasJoin Type
I_PersonWorkAgrmtStatus b left_outer
I_PersonWorkAgreement_1 employment left_outer

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName IWFPERSONVH view
AbapCatalog.compiler.compareFilter true view
VDM.viewType #COMPOSITE view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Workforce Person Association Target view
ObjectModel.dataCategory #VALUE_HELP view
Search.searchable true view
Metadata.ignorePropagatedAnnotations true view

Fields (19)

KeyFieldSource TableSource FieldDescription
KEY EmployeeExtID a PersonExternalID Person ID
Person a Person
LastName Last Name
FirstName First Name
PersonFullName a PersonFullName
UserID c UserID
AuthorizationGroup a AuthorizationGroup
IsBusinessPurposeCompleted a IsBusinessPurposeCompleted
DataControllerSet a DataControllerSet
DataController1 a DataController1
DataController2 a DataController2
DataController3 a DataController3
DataController4 a DataController4
DataController5 a DataController5
DataController6 a DataController6
DataController7 a DataController7
DataController8 a DataController8
DataController9 a DataController9
DataController10 a DataController10
@AbapCatalog.sqlViewName: 'IWFPERSONVH'
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Workforce Person Association Target'
@ObjectModel.dataCategory:#VALUE_HELP
@Search.searchable: true
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.supportedCapabilities: [#SEARCHABLE_ENTITY]

//............................................................................................................

// This CDS view is meant for Association Target ONLY ---- Do not use it for search help or for applications

//............................................................................................................


define view I_WorkforcePersonVH  as select distinct from I_WorkforcePerson as a

left outer join I_PersonWorkAgreement_1 as employment on a.Person = employment.Person

left outer join I_PersonWorkAgrmtStatus as b on employment.PersonWorkAgreement = b.PersonWorkAgreement
                                             and b.EndDate >= $session.system_date //current and future employments


left outer to one join I_BusinessUser as c on a.BusinessPartnerUUID = c.BusinessPartnerUUID
{
   @EndUserText.label: 'Person ID'
   @ObjectModel.text.element: ['PersonFullName']
   key a.PersonExternalID as EmployeeExtID,
   a.Person,
   @EndUserText.label: 'Last Name'
   a._BusinessPartner.BPLastNameSearchHelp as LastName,
   @EndUserText.label: 'First Name'
   a._BusinessPartner.BPFirstNameSearchHelp as FirstName,
   @Search.defaultSearchElement: true
   @Semantics.text: true
   a.PersonFullName,
   c.UserID,
   @UI.hidden: true
   a.AuthorizationGroup,
   @UI.hidden: true
   a.IsBusinessPurposeCompleted,
   
 //BP Data controller adoption: Added only for DCL check

   @Consumption.hidden:true
   @UI.hidden:true
   a.DataControllerSet,                                                                                                                                                                      
   @Consumption.hidden:true
   @UI.hidden:true
   a.DataController1,
   @Consumption.hidden:true
   @UI.hidden:true
   a.DataController2,
   @Consumption.hidden:true
   @UI.hidden:true
   a.DataController3,
   @Consumption.hidden:true
   @UI.hidden:true
   a.DataController4,
   @Consumption.hidden:true
   @UI.hidden:true
   a.DataController5,                                                                                                                                                                       
   @Consumption.hidden:true
   @UI.hidden:true
   a.DataController6,
   @Consumption.hidden:true
   @UI.hidden:true
   a.DataController7,
   @Consumption.hidden:true
   @UI.hidden:true
   a.DataController8,
   @Consumption.hidden:true
   @UI.hidden:true 
   a.DataController9,
   @Consumption.hidden:true
   @UI.hidden:true
   a.DataController10
   
 }
 
where WorkAgreementStatus = '1'




/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSPARTNER",
"I_BUSINESSUSER",
"I_PERSONWORKAGREEMENT_1",
"I_PERSONWORKAGRMTSTATUS",
"I_WORKFORCEPERSON"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/