I_WORKASSIGNMENTDETAIL_1
Details for Work Assignment
I_WORKASSIGNMENTDETAIL_1 is a CDS View in S/4HANA. Details for Work Assignment. It contains 6 fields. 4 CDS views read from this table.
CDS Views using this table (4)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| I_InactiveWorkAssignment | view_entity | inner | COMPOSITE | Work Assignment Status of a Worker |
| I_WorkAssignmentAltCost | view_entity | inner | BASIC | Alternate Cost Objects for Work Assignment |
| I_WorkerFactSheetSearch | view_entity | inner | COMPOSITE | Workforce Person Details |
| P_InactiveWorkAssignment | view_entity | inner | COMPOSITE | Work Assignment Status of a Worker |
Fields (6)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | WorkforceAssgmtStartDate | WorkforceAssgmtStartDate | 1 |
| KEY | WorkforceAssignment | WorkAssignment | 1 |
| CompanyCode | CompanyCode | 1 | |
| ControllingArea | ControllingArea | 1 | |
| IsBlocked | IsBlocked | 1 | |
| WorkforceAssignmentStatus | WorkforceAssignmentStatus | 1 |
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Details for Work Assignment'
@Metadata.ignorePropagatedAnnotations: true
@VDM: {
viewType: #BASIC,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@ObjectModel: {
semanticKey: ['WorkforceAssignment', 'WorkforceAssgmtStartDate'],
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #A,
sizeCategory: #M
}
}
//............................................................................................................................
// This CDS view is meant for private consumption in Worker Overview ONLY ---- Do not use it for for other applications
//............................................................................................................................
define view entity I_WorkAssignmentDetail_1
as select from wfd_d_assgmtdets
association [1..1] to I_WorkforceAssignment_1 as _WorkforceAssignment on $projection.WorkforceAssignment = _WorkforceAssignment.WorkforceAssignment
association [0..1] to I_WorkforceAssignmentStatus as _WorkforceAssignmentStatus on $projection.WorkforceAssignmentStatus = _WorkforceAssignmentStatus.WorkforceAssignmentStatus
association [1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [1] to I_CostCenter as _CostCenter on $projection.CostCenter = _CostCenter.CostCenter
and $projection.CompanyCode = _CostCenter.CompanyCode
and _CostCenter.ValidityStartDate <= $projection.WorkforceAssgmtEndDate
and _CostCenter.ValidityEndDate >= $projection.WorkforceAssgmtEndDate
association [1] to E_WorkforceAssignmentDetails as _Extension on $projection.WorkforceAssignment = _Extension.WorkforceAssignment
and $projection.WorkforceAssgmtStartDate = _Extension.WorkforceAssgmtStartDate
{
key workforce_assgmt_id as WorkforceAssignment,
key start_date as WorkforceAssgmtStartDate,
end_date as WorkforceAssgmtEndDate,
@ObjectModel.foreignKey.association: '_WorkforceAssignmentStatus'
employment_status as WorkforceAssignmentStatus,
employment_percent as EmploymentPercent,
company_code as CompanyCode,
cost_center as CostCenter,
controlling_area as ControllingArea,
weekly_working_hours as WeeklyWorkingHours,
weekly_working_days as WeeklyWorkingDays,
job_title as WorkforcePersonJobTitle,
job_code as WorkforcePersonJobCode,
manager_work_assgmt as ManagerAssignmentID,
country as Country2DigitISOCode,
manager_work_assignment_ext_id as ManagerAssignmentExternalID,
@Semantics.booleanIndicator: true
main_employment_indicator as WorkforceAssignmentIsPrimary,
block_ind as IsBlocked,
technical_inactive_ind as WrkAssgmtIsTechnicalInactive,
_CompanyCode,
_CostCenter,
@ObjectModel.association.type: [#TO_COMPOSITION_PARENT,
#TO_COMPOSITION_ROOT]
_WorkforceAssignment,
_WorkforceAssignmentStatus
}
//where
// company_code is not initial and technical_inactive_ind is initial
//workforce_assgmt_id is not null