@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@Metadata.ignorePropagatedAnnotations: true
@Consumption.ranked:true
//@ObjectModel.representativeKey :'ManagerAssignmentExternalID'
@ObjectModel.representativeKey :'ManagerAssignmentExternalID'
@ObjectModel.semanticKey: ['ManagerAssignmentExternalID']
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@ObjectModel.usageType:{
serviceQuality: #X,
sizeCategory: #S,
dataClass: #MIXED
}
@EndUserText.label : 'Manager Details'
define view entity R_ManagerContactCard
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
inner join I_BusinessPartner as _WorkAssignmentBP on _WorkAssignmentBP.BusinessPartner = _BuPaIdentification.WorkAssignmentBusinessPartner
left outer to many join I_WorkforceAssignmentDetails as _AssignmentDetailsManager on _AssignmentDetailsManager.ManagerAssignmentExternalID = _AssignmentKeyMap.WorkforcePersonUserID
and _AssignmentDetailsManager.WorkforceAssignmentStatus = '1'
left outer to one join I_WorkplaceAddress as _WorkplaceAddress on _WorkplaceAddress.BusinessPartnerUUID = _WorkAssignmentBP.BusinessPartnerUUID
association [1..*] to I_WorkforceAssignmentDetails as _AssignmentDetails on _AssignmentDetails.WorkforceAssignment = _AssignmentKeyMap.WorkforceAssignment
and _AssignmentDetails.WorkforceAssignmentStatus = '1'
{
@UI.facet: [ {
purpose: #QUICK_VIEW,
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'ManagerContactCard',
label: 'Manager Details'
}
]
@ObjectModel.text.element: ['FullName']
@UI.textArrangement: #TEXT_FIRST
@EndUserText: { label: 'Manager', quickInfo: 'ID' }
@UI.fieldGroup: [{ qualifier:'ManagerContactCard', position: 10}]
key _AssignmentKeyMap.WorkforcePersonUserID as ManagerAssignmentExternalID,
@EndUserText: { label: 'Full Name' }
@Semantics: {
text: true ,
name.fullName: true
}
@UI.fieldGroup: [{ qualifier:'ManagerContactCard', position: 20}]
_WorkAssignmentBP.BusinessPartnerFullName as FullName,
@UI.fieldGroup: [{ qualifier:'ManagerContactCard', position: 30}]
@Semantics.text
@Semantics.name: { givenName: true }
@EndUserText: { label: 'First Name' }
_WorkAssignmentBP.FirstName as FirstName,
@UI.fieldGroup: [{ qualifier:'ManagerContactCard', position: 40}]
@Semantics.text
@Semantics.name: { familyName: true }
@EndUserText: { label: 'Last Name' }
_WorkAssignmentBP.LastName as LastName,
@UI.fieldGroup: [{ qualifier:'ManagerContactCard', position: 50}]
@Semantics.eMail.address: true
@Semantics:{ eMail.type: [ #WORK ] }
_WorkplaceAddress.DefaultEmailAddress as EmailAddress,
@Semantics: { telephone.type: [ #CELL ] }
@UI.fieldGroup: [{ qualifier:'ManagerContactCard', position: 60}]
@EndUserText: { label: 'Mobile Phone Number' }
_WorkplaceAddress.MobilePhoneNumber as MobilePhoneNumber,
@Semantics: { telephone.type: [ #WORK, #PREF ] }
@UI.fieldGroup: [{ qualifier:'ManagerContactCard', position: 70}]
@EndUserText: { label: 'Phone Number' }
_WorkplaceAddress.PhoneNumber as PhoneNumber,
@UI.hidden: true
case
when _AssignmentDetailsManager.CompanyCode is not initial
then _AssignmentDetailsManager.CompanyCode
else _AssignmentDetails.CompanyCode
end as CompanyCode,
@UI.hidden: true
_AssignmentKeyMap.WorkforceAssignment as WorkAssignment
}
where
_AssignmentKeyMap.WorkforcePersonUserID is not initial
/*+[internal] {
"BASEINFO":
{
"FROM ":
[
"I_BUSINESSPARTNER",
"I_WORKFORCEASSIGNMENTDETAILS",
"I_WORKPLACEADDRESS",
"R_WORKASSIGNMENTBP",
"R_WORKASSIGNMENTKEYMAP"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Depth:
1
2
3
4
5
All
Reload
R_ManagerContactCard view_entity