@AbapCatalog.viewEnhancementCategory: [#NONE]
@ObjectModel.dataCategory:#VALUE_HELP
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label : 'Manager'
@Metadata.ignorePropagatedAnnotations: true
@Consumption.ranked:true
@ObjectModel.representativeKey :'WorkAssignmentExternalID'
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@Search.searchable: true
@ObjectModel.usageType:{
serviceQuality: #C,
sizeCategory: #XL,
dataClass: #MASTER
}
define view entity R_ManagerWorkAssignmentVH
as select distinct from R_WorkAssignmentKeyMap as _AssignmentKeyMap
//Get the Employment BP (for both old and new BP Models)
inner join R_WorkAssignmentBP as _BuPaIdentification on _BuPaIdentification.WorkforceAssignment = _AssignmentKeyMap.WorkforceAssignment
left outer to many join I_WorkforceAssignmentDetails as _AssignmentDetailsManager on _AssignmentDetailsManager.ManagerAssignmentExternalID = _AssignmentKeyMap.WorkforcePersonUserID
and _AssignmentDetailsManager.WorkforceAssignmentStatus = '1'
association [1..*] to I_WorkforceAssignmentDetails as _AssignmentDetails on _AssignmentDetails.WorkforceAssignment = _AssignmentKeyMap.WorkforceAssignment
and _AssignmentDetails.WorkforceAssignmentStatus = '1'
association [1..1] to I_BusinessPartner as _WorkAssignmentBP on _WorkAssignmentBP.BusinessPartner = _BuPaIdentification.WorkAssignmentBusinessPartner
{
@ObjectModel.text.element: ['FullName']
@Search.defaultSearchElement:true
@Search.fuzzinessThreshold :0.9
@UI.textArrangement: #TEXT_FIRST
@EndUserText: { label: 'Work Agreement ID', quickInfo: 'ID' }
key _AssignmentKeyMap.WorkAssignmentExternalID as WorkAssignmentExternalID,
@EndUserText: { label: 'Is Manager' }
case
when _AssignmentDetailsManager.ManagerAssignmentExternalID is not initial
then cast ( 'X' as boolean )
else cast ( ' ' as boolean )
end as WorkforcePersonIsManager,
@Semantics.text
@EndUserText: { label: 'Full Name' }
@UI.hidden: true
_WorkAssignmentBP.BusinessPartnerFullName as FullName,
@Search.ranking:#HIGH
@Semantics.text
@Search: { defaultSearchElement: true , fuzzinessThreshold:0.9 }
_WorkAssignmentBP.FirstName as FirstName,
@Semantics.text
@Search: { defaultSearchElement: true , fuzzinessThreshold:0.9 }
_WorkAssignmentBP.LastName as LastName,
@EndUserText: { label: 'Company Code', quickInfo: 'Company Code' }
case
when _AssignmentDetailsManager.CompanyCode is not initial
then _AssignmentDetailsManager.CompanyCode
else _AssignmentDetails.CompanyCode
end as CompanyCode,
@UI.hidden: true
_AssignmentDetailsManager.ManagerAssignmentExternalID as ManagerAssignmentExternalID
// @EndUserText: { label: 'Personnel Number' }
// _AssignmentKeyMap.WorkforceAssignment as WorkAssignment
}
where
_AssignmentKeyMap.WorkAssignmentExternalID is not initial
/*+[internal] {
"BASEINFO":
{
"FROM ":
[
"I_BUSINESSPARTNER",
"I_WORKFORCEASSIGNMENTDETAILS",
"R_WORKASSIGNMENTBP",
"R_WORKASSIGNMENTKEYMAP"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Depth:
1
2
3
4
5
All
Reload
R_ManagerWorkAssignmentVH view_entity