R_ManagerWorkAssignmentVH

DDL: R_MANAGERWORKASSIGNMENTVH Type: view_entity COMPOSITE Package: ODATA_CA_BUM_WF

Manager

R_ManagerWorkAssignmentVH is a Composite CDS View that provides data about "Manager" in SAP S/4HANA. It has 2 associations to related views. Part of development package ODATA_CA_BUM_WF.

Associations (2)

CardinalityTargetAliasCondition
[1..*] I_WorkforceAssignmentDetails _AssignmentDetails _AssignmentDetails.WorkforceAssignment = _AssignmentKeyMap.WorkforceAssignment and _AssignmentDetails.WorkforceAssignmentStatus = '1'
[1..1] I_BusinessPartner _WorkforcePersonBP _WorkforcePersonBP.BusinessPartner = _AssignmentKeyMap.BusinessPartner

Annotations (12)

NameValueLevelField
ObjectModel.dataCategory #VALUE_HELP view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Manager view
Metadata.ignorePropagatedAnnotations true view
Consumption.ranked true view
ObjectModel.representativeKey WorkAssignmentExternalID view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
Search.searchable true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MASTER view

Fields (7)

KeyFieldSource TableSource FieldDescription
KEY WorkAssignmentExternalID _AssignmentKeyMap WorkAssignmentExternalID
KEY CompanyCodeendasCompanyCode
FullName _WorkforcePersonBP BusinessPartnerFullName
FirstName _WorkforcePersonBP FirstName
LastName _WorkforcePersonBP LastName
ManagerAssignmentExternalID _AssignmentDetailsManager ManagerAssignmentExternalID
BusinessPartner _AssignmentKeyMap BusinessPartner
@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
    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'
  //  Take the name from worker BP instead of WA BP => Because both will have same name

  //  => This is to solve performance issue

  association [1..1] to I_BusinessPartner            as _WorkforcePersonBP on  _WorkforcePersonBP.BusinessPartner = _AssignmentKeyMap.BusinessPartner
{

          @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: 'Company Code', quickInfo: 'Company Code' }
          //          @Search.ranking:#HIGH

          //          @Search: { defaultSearchElement: true , fuzzinessThreshold:0.9 }

  key     case
          when _AssignmentDetailsManager.CompanyCode  is not initial
          then _AssignmentDetailsManager.CompanyCode
          else _AssignmentDetails.CompanyCode
          end                                                   as CompanyCode,
          @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
          _WorkforcePersonBP.BusinessPartnerFullName            as FullName,
          @Search.ranking:#HIGH
          @Semantics.text
          @Search: { defaultSearchElement: true , fuzzinessThreshold:0.9 }
          _WorkforcePersonBP.FirstName                          as FirstName,
          @Semantics.text
          @Search: { defaultSearchElement: true , fuzzinessThreshold:0.9 }
          _WorkforcePersonBP.LastName                           as LastName,
          @UI.hidden: true
          _AssignmentDetailsManager.ManagerAssignmentExternalID as ManagerAssignmentExternalID,
          @UI.hidden: true
          _AssignmentKeyMap.BusinessPartner                     as BusinessPartner
}
where
      _AssignmentKeyMap.WorkAssignmentExternalID is not initial
  and _AssignmentKeyMap.BusinessPartner          is not initial