R_WORKASSIGNMENTDETAILSALL

CDS View

Work assignment Details All

R_WORKASSIGNMENTDETAILSALL is a CDS View in S/4HANA. Work assignment Details All. It contains 15 fields. 3 CDS views read from this table.

CDS Views using this table (3)

ViewTypeJoinVDMDescription
R_WorkAssignmentDetail view_entity from COMPOSITE Details for Work Assignment
R_WorkAssignmentDetailsTP view_entity from TRANSACTIONAL Work Assignment Details TP
R_WorkAssignmentDetailsTP_2 view_entity from TRANSACTIONAL Work Assignment Details TP

Fields (15)

KeyField CDS FieldsUsed in Views
KEY StartDate StartDate 3
CompanyCode CompanyCode 3
ControllingArea ControllingArea 1
CostCenter CostCenter 3
EmploymentPercent EmploymentPercent 3
EndDate EndDate 3
IsBlocked IsBlocked 3
ManagerAssignmentExternalID ManagerEmployee 3
ManagerAssignmentID ManagerAssignmentID 3
WeeklyWorkingDays WeeklyWorkingDays 3
WeeklyWorkingHours WeeklyWorkingHours 3
WorkAssignment WorkAssignment 3
WorkforceAssignmentStatus WorkforceAssignmentStatus 3
WorkforcePersonJobCode WorkforcePersonJobCode 3
WorkforcePersonJobTitle WorkforcePersonJobTitle 3
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Work assignment Details All'
@Metadata.ignorePropagatedAnnotations: true
@VDM: {
  viewType: #BASIC,
  lifecycle.contract.type: #SAP_INTERNAL_API
}

@ObjectModel.usageType:{
  serviceQuality: #C,
  sizeCategory: #XL,
  dataClass: #MASTER
}
//@Consumption.dbHints: [ 'USE_HEX_PLAN' ]

@Consumption.dbHints: [ '&PREFER_JOIN_WITH_FDA 0&', 'USE_HEX_PLAN' ]
//This CDS gives the Active job details + inactive Job details against the Global assignment


//Union I => This Union gives all the active Job details

define view entity R_WorkAssignmentDetailsAll
  as select from wfd_d_assgmtdets       as _AssignmentDetails
    inner join   R_WorkAssignmentKeyMap as _AssignmentKeyMap on _AssignmentKeyMap.WorkforceAssignment = _AssignmentDetails.workforce_assgmt_id

{
  key    _AssignmentDetails.workforce_assgmt_id            as WorkAssignment,
  key    _AssignmentDetails.start_date                     as StartDate,
  key    _AssignmentDetails.end_date                       as EndDate,
  key    _AssignmentKeyMap.WorkforcePersonExternalID       as WorkforcePersonExternalID,
         _AssignmentDetails.employment_status              as WorkforceAssignmentStatus,
         _AssignmentDetails.employment_percent             as EmploymentPercent,
         _AssignmentDetails.company_code                   as CompanyCode,
         _AssignmentDetails.cost_center                    as CostCenter,
         _AssignmentDetails.controlling_area               as ControllingArea,
         _AssignmentDetails.weekly_working_hours           as WeeklyWorkingHours,
         _AssignmentDetails.weekly_working_days            as WeeklyWorkingDays,
         _AssignmentDetails.job_title                      as WorkforcePersonJobTitle,
         _AssignmentDetails.job_code                       as WorkforcePersonJobCode,
         _AssignmentDetails.manager_work_assgmt            as ManagerAssignmentID,
         _AssignmentDetails.country                        as Country2DigitISOCode,
         _AssignmentDetails.manager_work_assignment_ext_id as ManagerAssignmentExternalID,
         @Semantics.booleanIndicator
         _AssignmentDetails.main_employment_indicator      as WorkforceAssignmentIsPrimary,
         _AssignmentDetails.block_ind                      as IsBlocked
}
where
      _AssignmentDetails.company_code           is not initial
  and _AssignmentDetails.technical_inactive_ind is initial
  //  and _AssignmentDetails.block_ind              = ' '

  and _AssignmentDetails.employment_status      = '1'

//Union II => This Union gives the inactive Job details => Non Technical Job details

//This also includes the one which Customer sent manualy 

union select from wfd_d_assgmtdets              as _AssignmentDetails
  inner join          R_WorkAssignmentKeyMap        as _AssignmentKeyMap            on _AssignmentKeyMap.WorkforceAssignment = _AssignmentDetails.workforce_assgmt_id
//Check any Active work agreement(Global Assignment) exist against this inactive record

  inner join          R_WorkAssignmentDetailsActive as _WorkAssignmentDetailsActive on  _WorkAssignmentDetailsActive.WorkforcePersonExternalID =  _AssignmentKeyMap.WorkforcePersonExternalID
                                                                                    and _WorkAssignmentDetailsActive.StartDate                 =  _AssignmentDetails.start_date
                                                                                    and _WorkAssignmentDetailsActive.EndDate                   =  _AssignmentDetails.end_date
  //To avoid the real technial records => Global Assignments never end with high end date

                                                                                    and _WorkAssignmentDetailsActive.EndDate                   <> '99991231'
  //Check Active work agreement(Global Assignment) exist against this inactive record

                                                                                    and _AssignmentDetails.employment_status                   =  '0'
{
  key    _AssignmentDetails.workforce_assgmt_id            as WorkAssignment,
  key    _AssignmentDetails.start_date                     as StartDate,
  key    _AssignmentDetails.end_date                       as EndDate,
  key    _AssignmentKeyMap.WorkforcePersonExternalID       as WorkforcePersonExternalID,
         _AssignmentDetails.employment_status              as WorkforceAssignmentStatus,
         _AssignmentDetails.employment_percent             as EmploymentPercent,
         _AssignmentDetails.company_code                   as CompanyCode,
         _AssignmentDetails.cost_center                    as CostCenter,
         _AssignmentDetails.controlling_area               as ControllingArea,
         _AssignmentDetails.weekly_working_hours           as WeeklyWorkingHours,
         _AssignmentDetails.weekly_working_days            as WeeklyWorkingDays,
         _AssignmentDetails.job_title                      as WorkforcePersonJobTitle,
         _AssignmentDetails.job_code                       as WorkforcePersonJobCode,
         _AssignmentDetails.manager_work_assgmt            as ManagerAssignmentID,
         _AssignmentDetails.country                        as Country2DigitISOCode,
         _AssignmentDetails.manager_work_assignment_ext_id as ManagerAssignmentExternalID,
         _AssignmentDetails.main_employment_indicator      as WorkforceAssignmentIsPrimary,
         _AssignmentDetails.block_ind                      as IsBlocked
}
where
       _AssignmentDetails.employment_status        = '0'
  and  _WorkAssignmentDetailsActive.WorkAssignment is not initial
  and(
       _AssignmentDetails.company_code             is initial 
    or _AssignmentDetails.technical_inactive_ind   is not initial
  )

//Union III => This Union gives the inactive Job details against the Global assignment

union select from    wfd_d_assgmtdets              as _AssignmentDetails
  inner join         R_WorkAssignmentKeyMap        as _AssignmentKeyMap            on _AssignmentKeyMap.WorkforceAssignment = _AssignmentDetails.workforce_assgmt_id
{
  key    _AssignmentDetails.workforce_assgmt_id            as WorkAssignment,
  key    _AssignmentDetails.start_date                     as StartDate,
  key    _AssignmentDetails.end_date                       as EndDate,
  key    _AssignmentKeyMap.WorkforcePersonExternalID       as WorkforcePersonExternalID,
         _AssignmentDetails.employment_status              as WorkforceAssignmentStatus,
         _AssignmentDetails.employment_percent             as EmploymentPercent,
         _AssignmentDetails.company_code                   as CompanyCode,
         _AssignmentDetails.cost_center                    as CostCenter,
         _AssignmentDetails.controlling_area               as ControllingArea,
         _AssignmentDetails.weekly_working_hours           as WeeklyWorkingHours,
         _AssignmentDetails.weekly_working_days            as WeeklyWorkingDays,
         _AssignmentDetails.job_title                      as WorkforcePersonJobTitle,
         _AssignmentDetails.job_code                       as WorkforcePersonJobCode,
         _AssignmentDetails.manager_work_assgmt            as ManagerAssignmentID,
         _AssignmentDetails.country                        as Country2DigitISOCode,
         _AssignmentDetails.manager_work_assignment_ext_id as ManagerAssignmentExternalID,
         _AssignmentDetails.main_employment_indicator      as WorkforceAssignmentIsPrimary,
         _AssignmentDetails.block_ind                      as IsBlocked
}
where
      _AssignmentDetails.company_code             is not initial
  and _AssignmentDetails.technical_inactive_ind   is initial
  and _AssignmentDetails.employment_status        = '0'










































































































//define view entity R_WorkAssignmentDetailsAll

//  as select from wfd_d_assgmtdets       as _AssignmentDetails

//    inner join   R_WorkAssignmentKeyMap as _AssignmentKeyMap on _AssignmentKeyMap.WorkforceAssignment = _AssignmentDetails.workforce_assgmt_id

//

//{

//  key    _AssignmentDetails.workforce_assgmt_id            as WorkAssignment,

//  key    _AssignmentDetails.start_date                     as StartDate,

//  key    _AssignmentDetails.end_date                       as EndDate,

//  key    _AssignmentKeyMap.WorkforcePersonExternalID       as WorkforcePersonExternalID,

//         _AssignmentDetails.employment_status              as WorkforceAssignmentStatus,

//         _AssignmentDetails.employment_percent             as EmploymentPercent,

//         _AssignmentDetails.company_code                   as CompanyCode,

//         _AssignmentDetails.cost_center                    as CostCenter,

//         _AssignmentDetails.controlling_area               as ControllingArea,

//         _AssignmentDetails.weekly_working_hours           as WeeklyWorkingHours,

//         _AssignmentDetails.weekly_working_days            as WeeklyWorkingDays,

//         _AssignmentDetails.job_title                      as WorkforcePersonJobTitle,

//         _AssignmentDetails.job_code                       as WorkforcePersonJobCode,

//         _AssignmentDetails.manager_work_assgmt            as ManagerAssignmentID,

//         _AssignmentDetails.country                        as Country2DigitISOCode,

//         _AssignmentDetails.manager_work_assignment_ext_id as ManagerAssignmentExternalID,

//         @Semantics.booleanIndicator

//         _AssignmentDetails.main_employment_indicator      as WorkforceAssignmentIsPrimary,

//         _AssignmentDetails.block_ind                      as IsBlocked

//}

//where

//      _AssignmentDetails.company_code           is not initial

//  and _AssignmentDetails.technical_inactive_ind is initial

//  //  and _AssignmentDetails.block_ind              = ' '

//  and _AssignmentDetails.employment_status      = '1'

//

////Union II => This Union gives the inactive Job details against the Global assignment

//union all select from wfd_d_assgmtdets              as _AssignmentDetails

//  inner join          R_WorkAssignmentKeyMap        as _AssignmentKeyMap            on _AssignmentKeyMap.WorkforceAssignment = _AssignmentDetails.workforce_assgmt_id

////Check any Active work agreement(Global Assignment) exist against this inactive record

//  inner join          R_WorkAssignmentDetailsActive as _WorkAssignmentDetailsActive on  _WorkAssignmentDetailsActive.WorkforcePersonExternalID =  _AssignmentKeyMap.WorkforcePersonExternalID

//                                                                                    and _WorkAssignmentDetailsActive.StartDate                 =  _AssignmentDetails.start_date

//                                                                                    and _WorkAssignmentDetailsActive.EndDate                   =  _AssignmentDetails.end_date

//  //To avoid the real technial records => Global Assignments never end with high end date

//                                                                                    and _WorkAssignmentDetailsActive.EndDate                   <> '99991231'

//  //Check Active work agreement(Global Assignment) exist against this inactive record

//                                                                                    and _AssignmentDetails.employment_status                   =  '0'

//{

//  key    _AssignmentDetails.workforce_assgmt_id            as WorkAssignment,

//  key    _AssignmentDetails.start_date                     as StartDate,

//  key    _AssignmentDetails.end_date                       as EndDate,

//  key    _AssignmentKeyMap.WorkforcePersonExternalID       as WorkforcePersonExternalID,

//         _AssignmentDetails.employment_status              as WorkforceAssignmentStatus,

//         _AssignmentDetails.employment_percent             as EmploymentPercent,

//         _AssignmentDetails.company_code                   as CompanyCode,

//         _AssignmentDetails.cost_center                    as CostCenter,

//         _AssignmentDetails.controlling_area               as ControllingArea,

//         _AssignmentDetails.weekly_working_hours           as WeeklyWorkingHours,

//         _AssignmentDetails.weekly_working_days            as WeeklyWorkingDays,

//         _AssignmentDetails.job_title                      as WorkforcePersonJobTitle,

//         _AssignmentDetails.job_code                       as WorkforcePersonJobCode,

//         _AssignmentDetails.manager_work_assgmt            as ManagerAssignmentID,

//         _AssignmentDetails.country                        as Country2DigitISOCode,

//         _AssignmentDetails.manager_work_assignment_ext_id as ManagerAssignmentExternalID,

//         _AssignmentDetails.main_employment_indicator      as WorkforceAssignmentIsPrimary,

//         _AssignmentDetails.block_ind                      as IsBlocked

//}

//where

//  //      _AssignmentDetails.block_ind                = ' '

//  //  and

//      _AssignmentDetails.employment_status        = '0'

//  and _WorkAssignmentDetailsActive.WorkAssignment is not initial

//

////Union III => This Union gives the inactive Job details => Non Technical Job details

//union all select from    wfd_d_assgmtdets              as _AssignmentDetails

//  inner join             R_WorkAssignmentKeyMap        as _AssignmentKeyMap            on _AssignmentKeyMap.WorkforceAssignment = _AssignmentDetails.workforce_assgmt_id

////Check any Active work agreement(Global Assignment) exist against this inactive record

//  left outer to one join R_WorkAssignmentDetailsActive as _WorkAssignmentDetailsActive on  _WorkAssignmentDetailsActive.WorkforcePersonExternalID = _AssignmentKeyMap.WorkforcePersonExternalID

//                                                                                       and _WorkAssignmentDetailsActive.StartDate                 = _AssignmentDetails.start_date

//                                                                                       and _WorkAssignmentDetailsActive.EndDate                   = _AssignmentDetails.end_date

//  //Check Active work agreement(Global Assignment) exist against this inactive record

//                                                                                       and _AssignmentDetails.employment_status                   = '0'

//{

//  key    _AssignmentDetails.workforce_assgmt_id            as WorkAssignment,

//  key    _AssignmentDetails.start_date                     as StartDate,

//  key    _AssignmentDetails.end_date                       as EndDate,

//  key    _AssignmentKeyMap.WorkforcePersonExternalID       as WorkforcePersonExternalID,

//         _AssignmentDetails.employment_status              as WorkforceAssignmentStatus,

//         _AssignmentDetails.employment_percent             as EmploymentPercent,

//         _AssignmentDetails.company_code                   as CompanyCode,

//         _AssignmentDetails.cost_center                    as CostCenter,

//         _AssignmentDetails.controlling_area               as ControllingArea,

//         _AssignmentDetails.weekly_working_hours           as WeeklyWorkingHours,

//         _AssignmentDetails.weekly_working_days            as WeeklyWorkingDays,

//         _AssignmentDetails.job_title                      as WorkforcePersonJobTitle,

//         _AssignmentDetails.job_code                       as WorkforcePersonJobCode,

//         _AssignmentDetails.manager_work_assgmt            as ManagerAssignmentID,

//         _AssignmentDetails.country                        as Country2DigitISOCode,

//         _AssignmentDetails.manager_work_assignment_ext_id as ManagerAssignmentExternalID,

//         _AssignmentDetails.main_employment_indicator      as WorkforceAssignmentIsPrimary,

//         _AssignmentDetails.block_ind                      as IsBlocked

//}

//where

//      _AssignmentDetails.company_code             is not initial

//  and _AssignmentDetails.technical_inactive_ind   is initial

//  //  and _AssignmentDetails.block_ind              = ' '

//  and _AssignmentDetails.employment_status        = '0'

//  and _WorkAssignmentDetailsActive.WorkAssignment is null