@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Work Assignment Details TP'
@VDM: {
viewType: #TRANSACTIONAL,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@ObjectModel.usageType:{
serviceQuality: #C,
sizeCategory: #XL,
dataClass: #MASTER
}
@Consumption.dbHints: [ '&PREFER_JOIN_WITH_FDA 0&', 'USE_HEX_PLAN' ]
define view entity R_WorkAssignmentDetailsTP
as select from R_WorkAssignmentDetailsAll as _AssignmentDetails
//Get the Employment BP (for both old and new BP Models)
inner join R_WorkAssignmentBP as _BuPaIdentification on _BuPaIdentification.WorkforceAssignment = _AssignmentDetails.WorkAssignment
inner join R_WorkAssignmentKeyMap as _AssignmentKeyMap on _AssignmentKeyMap.WorkforceAssignment = _AssignmentDetails.WorkAssignment
association [1..1] to I_BusinessPartner as _WorkAssignmentBP on _WorkAssignmentBP.BusinessPartner = _BuPaIdentification.WorkAssignmentBusinessPartner
association [1..1] to I_BusinessPartner as _WorkforcePersonBP on _WorkforcePersonBP.BusinessPartner = _AssignmentKeyMap.BusinessPartner
association [0..1] to R_ManagerWorkAssignmentVH as _ManagerWorkAssignmentVH on $projection.ManagerEmployee = _ManagerWorkAssignmentVH.ManagerAssignmentExternalID
and $projection.CompanyCode = _ManagerWorkAssignmentVH.CompanyCode
and $projection.ManagerEmployee is not initial
association [0..1] to I_CostCenter as _CostCenterText on $projection.CompanyCode = _CostCenterText.CompanyCode
and $projection.CostCenter = _CostCenterText.CostCenter
and _CostCenterText.ControllingArea = 'A000'
and _CostCenterText.ValidityStartDate <= _AssignmentDetails.EndDate
and _CostCenterText.ValidityEndDate >= _AssignmentDetails.EndDate
association [0..1] to I_CompanyCode as _CompanyCodeText on $projection.CompanyCode = _CompanyCodeText.CompanyCode
association [0..1] to I_WorkforceAssgmtStatusText as _WorkforceAssignmentStatus on $projection.WorkforceAssignmentStatus = _WorkforceAssignmentStatus.WorkforceAssignmentStatus
and _WorkforceAssignmentStatus.Language = $session.system_language
association [1..1] to R_WorkforcePersonTP as _WorkforcePerson on $projection.PersonUUID = _WorkforcePerson.PersonUUID
association to parent R_WorkAssignmentTP as _WorkAssignment on $projection.WorkAssignmentUUID = _WorkAssignment.WorkAssignmentUUID
{
key _WorkAssignmentBP.BusinessPartnerUUID as WorkAssignmentUUID,
key _AssignmentDetails.StartDate as StartDate,
_AssignmentDetails.EndDate as EndDate,
_AssignmentDetails.WorkAssignment as WorkAssignment,
_BuPaIdentification.WorkAssignmentBusinessPartner as WorkAssignmentBusinessPartner,
_WorkforcePersonBP.BusinessPartnerUUID as PersonUUID,
_AssignmentDetails.CompanyCode as CompanyCode,
_AssignmentDetails.CostCenter as CostCenter,
_AssignmentDetails.WorkforcePersonJobCode as WorkforcePersonJobCode,
_AssignmentDetails.WorkforcePersonJobTitle as WorkforcePersonJobTitle,
cast ( _AssignmentDetails.WorkforceAssignmentIsPrimary as xfeld ) as WorkforceAssignmentIsPrimary,
_AssignmentDetails.ManagerAssignmentID as ManagerAssignmentID,
_AssignmentDetails.WeeklyWorkingDays as WeeklyWorkingDays,
_AssignmentDetails.WeeklyWorkingHours as WeeklyWorkingHours,
_AssignmentDetails.EmploymentPercent as EmploymentPercent,
_AssignmentDetails.WorkforceAssignmentStatus as WorkforceAssignmentStatus,
@Consumption.valueHelp:'_ManagerWorkAssignmentVH'
_AssignmentDetails.ManagerAssignmentExternalID as ManagerEmployee,
cast( ' ' as boolean ) as IsEditable,
cast('%' as qprozent) as EmploymentPercentageUnit,
_AssignmentDetails.IsBlocked as IsBlocked,
_WorkAssignment,
_WorkforcePerson,
_ManagerWorkAssignmentVH,
_CostCenterText,
_WorkforceAssignmentStatus,
_CompanyCodeText
}
//where
// _AssignmentDetails.CompanyCode is not initial
// as select from I_WorkforceAssignmentDetails as _AssignmentDetails
//// as select from R_WorkAssignmentDetailsAll as _AssignmentDetails
// //Get the Employment BP (for both old and new BP Models)
// inner join R_WorkAssignmentBP as _BuPaIdentification on _BuPaIdentification.WorkforceAssignment = _AssignmentDetails.WorkforceAssignment
// inner join R_WorkAssignmentKeyMap as _AssignmentKeyMap on _AssignmentKeyMap.WorkforceAssignment = _AssignmentDetails.WorkforceAssignment
// association [1..1] to I_BusinessPartner as _WorkAssignmentBP on _WorkAssignmentBP.BusinessPartner = _BuPaIdentification.WorkAssignmentBusinessPartner
// association [1..1] to I_BusinessPartner as _WorkforcePersonBP on _WorkforcePersonBP.BusinessPartner = _AssignmentKeyMap.BusinessPartner
//
// association [0..1] to R_ManagerWorkAssignmentVH as _ManagerWorkAssignmentVH on $projection.ManagerEmployee = _ManagerWorkAssignmentVH.ManagerAssignmentExternalID
// and $projection.CompanyCode = _ManagerWorkAssignmentVH.CompanyCode
// and $projection.ManagerEmployee is not initial
// // association [0..1] to R_ManagerWorkAssignmentName as _ManagerWorkAssignmentName on $projection.ManagerEmployee = _ManagerWorkAssignmentName.BPIdentificationNumber
//
//
// //You cannot be your own manager
// // and $projection.WorkAssignment <> _ManagerWorkAssignmentVH.WorkAssignment
// association [0..1] to I_CostCenterText as _CostCenterText on $projection.CostCenter = _CostCenterText.CostCenter
// and _CostCenterText.ControllingArea = 'A000'
// and _CostCenterText.ValidityStartDate <= _AssignmentDetails.WorkforceAssgmtEndDate
// and _CostCenterText.ValidityEndDate >= _AssignmentDetails.WorkforceAssgmtEndDate
// and _CostCenterText.Language = $session.system_language
//
// association [0..1] to I_CompanyCode as _CompanyCodeText on $projection.CompanyCode = _CompanyCodeText.CompanyCode
// association [0..1] to I_WorkforceAssgmtStatusText as _WorkforceAssignmentStatus on $projection.WorkforceAssignmentStatus = _WorkforceAssignmentStatus.WorkforceAssignmentStatus
// and _WorkforceAssignmentStatus.Language = $session.system_language
// association [1..1] to R_WorkforcePersonTP as _WorkforcePerson on $projection.PersonUUID = _WorkforcePerson.PersonUUID
// association to parent R_WorkAssignmentTP as _WorkAssignment on $projection.WorkAssignmentUUID = _WorkAssignment.WorkAssignmentUUID
//{
// key _WorkAssignmentBP.BusinessPartnerUUID as WorkAssignmentUUID,
// key _AssignmentDetails.WorkforceAssgmtStartDate as StartDate,
// _AssignmentDetails.WorkforceAssgmtEndDate as EndDate,
// _AssignmentDetails.WorkforceAssignment as WorkAssignment,
// _BuPaIdentification.WorkAssignmentBusinessPartner as WorkAssignmentBusinessPartner,
// _WorkforcePersonBP.BusinessPartnerUUID as PersonUUID,
// _AssignmentDetails.CompanyCode as CompanyCode,
// _AssignmentDetails.CostCenter as CostCenter,
// _AssignmentDetails.WorkforcePersonJobCode as WorkforcePersonJobCode,
// _AssignmentDetails.WorkforcePersonJobTitle as WorkforcePersonJobTitle,
// cast ( _AssignmentDetails.WorkforceAssignmentIsPrimary as xfeld ) as WorkforceAssignmentIsPrimary,
// _AssignmentDetails.ManagerAssignmentID as ManagerAssignmentID,
// _AssignmentDetails.WeeklyWorkingDays as WeeklyWorkingDays,
// _AssignmentDetails.WeeklyWorkingHours as WeeklyWorkingHours,
// _AssignmentDetails.EmploymentPercent as EmploymentPercent,
// _AssignmentDetails.WorkforceAssignmentStatus as WorkforceAssignmentStatus,
// @Consumption.valueHelp:'_ManagerWorkAssignmentVH'
// _AssignmentDetails.ManagerAssignmentExternalID as ManagerEmployee,
// cast( ' ' as boolean ) as IsEditable,
// cast('%' as qprozent) as EmploymentPercentageUnit,
//
// _WorkAssignment,
// _WorkforcePerson,
// _ManagerWorkAssignmentVH,
// _CostCenterText,
// _WorkforceAssignmentStatus,
// _CompanyCodeText
//}
//where
// _AssignmentDetails.CompanyCode is not initial
//// and _AssignmentDetails.technical_inactive_ind is initial