I_WorkforceAssignmentDetails
Workforce Assignment Details
I_WorkforceAssignmentDetails is a Basic CDS View that provides data about "Workforce Assignment Details" in SAP S/4HANA. It reads from 1 data source (wfd_d_assgmtdets) and exposes 20 fields with key fields WorkforceAssignment, WorkforceAssgmtStartDate. It has 5 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| wfd_d_assgmtdets | wfd_d_assgmtdets | from |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_WorkforceAssignment | _WorkforceAssignment | $projection.WorkforceAssignment = _WorkforceAssignment.WorkforceAssignment |
| [0..1] | I_WorkforceAssignmentStatus | _WorkforceAssignmentStatus | $projection.WorkforceAssignmentStatus = _WorkforceAssignmentStatus.WorkforceAssignmentStatus |
| [1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [1] | I_CostCenter | _CostCenter | $projection.CostCenter = _CostCenter.CostCenter and $projection.CompanyCode = _CostCenter.CompanyCode and _CostCenter.ValidityStartDate <= $projection.WorkforceAssgmtEndDate and _CostCenter.ValidityEndDate >= $projection.WorkforceAssgmtEndDate |
| [1] | E_WorkforceAssignmentDetails | _Extension | $projection.WorkforceAssignment = _Extension.WorkforceAssignment and $projection.WorkforceAssgmtStartDate = _Extension.WorkforceAssgmtStartDate |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IWRKFCASSGMTDETS | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.viewType | #BASIC | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| EndUserText.label | Workforce Assignment Details | view |
Fields (20)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | WorkforceAssignment | workforce_assgmt_id | ||
| KEY | WorkforceAssgmtStartDate | start_date | ||
| WorkforceAssgmtEndDate | end_date | |||
| WorkforceAssignmentStatus | employment_status | |||
| EmploymentPercent | employment_percent | |||
| CompanyCode | company_code | |||
| CostCenter | cost_center | |||
| ControllingArea | controlling_area | |||
| WeeklyWorkingHours | weekly_working_hours | |||
| WeeklyWorkingDays | weekly_working_days | |||
| WorkforcePersonJobTitle | job_title | |||
| WorkforcePersonJobCode | job_code | |||
| ManagerAssignmentID | manager_work_assgmt | |||
| Country2DigitISOCode | country | |||
| ManagerAssignmentExternalID | manager_work_assignment_ext_id | |||
| WorkforceAssignmentIsPrimary | main_employment_indicator | |||
| _CompanyCode | _CompanyCode | |||
| _CostCenter | _CostCenter | |||
| _WorkforceAssignment | _WorkforceAssignment | |||
| _WorkforceAssignmentStatus | _WorkforceAssignmentStatus |
@AbapCatalog.sqlViewName: 'IWRKFCASSGMTDETS'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM: {
viewType: #BASIC
}
@ObjectModel: {
semanticKey: ['WorkforceAssignment', 'WorkforceAssgmtStartDate'],
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #A,
sizeCategory: #M
}
}
@EndUserText.label: 'Workforce Assignment Details'
define view I_WorkforceAssignmentDetails
as select from wfd_d_assgmtdets
association [1..1] to I_WorkforceAssignment 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,
main_employment_indicator as WorkforceAssignmentIsPrimary,
// _CompanyCode.CompanyCodeName as CompanyCodeName,
_CompanyCode,
// _CostCenter._Text[1: Language = $session.system_language ].CostCenterName as CostCenterName,
_CostCenter,
// _WorkforceAssignmentStatus._Text[1: Language = $session.system_language ].AssignmentStatusText as AssignmentStatusText,
@ObjectModel.association.type: [#TO_COMPOSITION_PARENT,
#TO_COMPOSITION_ROOT]
_WorkforceAssignment,
_WorkforceAssignmentStatus
}
where
// company_code is not initial and
block_ind = ' '
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"WFD_D_ASSGMTDETS"
],
"ASSOCIATED":
[
"E_WORKFORCEASSIGNMENTDETAILS",
"I_COMPANYCODE",
"I_COSTCENTER",
"I_WORKFORCEASSIGNMENT",
"I_WORKFORCEASSIGNMENTSTATUS"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA