R_WorkAssignmentDetail
Details for Work Assignment
R_WorkAssignmentDetail is a Composite CDS View that provides data about "Details for Work Assignment" in SAP S/4HANA. It reads from 3 data sources (R_WorkAssignmentDetailsAll, R_WorkAssignmentKeyMap, R_WorkAssignmentBP) and exposes 26 fields with key fields WorkAssignmentUUID, StartDate. It has 7 associations to related views. Part of development package WFD_WORKER_FACTSHEET_BL.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| R_WorkAssignmentDetailsAll | _AssignmentDetails | from |
| R_WorkAssignmentKeyMap | _AssignmentKeyMap | inner |
| R_WorkAssignmentBP | _BuPaIdentification | inner |
Associations (7)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_BusinessPartner | _WorkAssignmentBP | _WorkAssignmentBP.BusinessPartner = _BuPaIdentification.WorkAssignmentBusinessPartner |
| [1..1] | I_BusinessPartner | _WorkforcePersonBP | _WorkforcePersonBP.BusinessPartner = _AssignmentKeyMap.BusinessPartner |
| [0..1] | R_ManagerWorkAssignmentVH | _ManagerWorkAssignmentVH | $projection.ManagerEmployee = _ManagerWorkAssignmentVH.ManagerAssignmentExternalID and $projection.CompanyCode = _ManagerWorkAssignmentVH.CompanyCode and $projection.ManagerEmployee is not initial |
| [0..1] | I_CostCenter | _CostCenterText | $projection.CompanyCode = _CostCenterText.CompanyCode and $projection.CostCenter = _CostCenterText.CostCenter and _CostCenterText.ValidityStartDate <= _AssignmentDetails.EndDate and _CostCenterText.ValidityEndDate >= _AssignmentDetails.EndDate |
| [0..1] | I_CompanyCode | _CompanyCodeText | $projection.CompanyCode = _CompanyCodeText.CompanyCode |
| [0..1] | I_WorkforceAssignmentStatus | _WorkforceAssignmentStatus | $projection.WorkforceAssignmentStatus = _WorkforceAssignmentStatus.WorkforceAssignmentStatus |
| [1..1] | R_WorkforcePersonFactSheet | _WorkforcePerson | $projection.PersonUUID = _WorkforcePerson.PersonUUID |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| EndUserText.label | Details for Work Assignment | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view |
Fields (26)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | WorkAssignmentUUID | _WorkAssignmentBP | BusinessPartnerUUID | |
| KEY | StartDate | R_WorkAssignmentDetailsAll | StartDate | |
| EndDate | R_WorkAssignmentDetailsAll | EndDate | ||
| WorkAssignment | R_WorkAssignmentDetailsAll | WorkAssignment | ||
| WorkAssignmentBusinessPartner | R_WorkAssignmentBP | WorkAssignmentBusinessPartner | ||
| PersonUUID | _WorkforcePersonBP | BusinessPartnerUUID | ||
| CompanyCode | R_WorkAssignmentDetailsAll | CompanyCode | ||
| CostCenter | R_WorkAssignmentDetailsAll | CostCenter | ||
| WorkforcePersonJobCode | R_WorkAssignmentDetailsAll | WorkforcePersonJobCode | ||
| WorkforcePersonJobTitle | R_WorkAssignmentDetailsAll | WorkforcePersonJobTitle | ||
| WorkforceAssignmentIsPrimary | ||||
| ManagerAssignmentID | R_WorkAssignmentDetailsAll | ManagerAssignmentID | ||
| WeeklyWorkingDays | R_WorkAssignmentDetailsAll | WeeklyWorkingDays | ||
| WeeklyWorkingHours | R_WorkAssignmentDetailsAll | WeeklyWorkingHours | ||
| EmploymentPercent | R_WorkAssignmentDetailsAll | EmploymentPercent | ||
| WorkforceAssignmentStatus | R_WorkAssignmentDetailsAll | WorkforceAssignmentStatus | ||
| IsBlocked | R_WorkAssignmentDetailsAll | IsBlocked | ||
| ManagerEmployee | R_WorkAssignmentDetailsAll | ManagerAssignmentExternalID | ||
| ControllingArea | R_WorkAssignmentDetailsAll | ControllingArea | ||
| EmploymentPercentageUnit | ||||
| _WorkAssignment | _WorkAssignment | |||
| _WorkforcePerson | _WorkforcePerson | |||
| _ManagerWorkAssignmentVH | _ManagerWorkAssignmentVH | |||
| _CostCenterText | _CostCenterText | |||
| _CompanyCodeText | _CompanyCodeText | |||
| _WorkforceAssignmentStatus | _WorkforceAssignmentStatus |
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Details for Work Assignment'
@Metadata.ignorePropagatedAnnotations: true
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@ObjectModel.usageType:{
serviceQuality: #C,
sizeCategory: #XL,
dataClass: #MIXED
}
define view entity R_WorkAssignmentDetail
as select from R_WorkAssignmentDetailsAll as _AssignmentDetails
// as select from I_WorkAssignmentDetail_1 as _AssignmentDetails
inner join R_WorkAssignmentBP as _BuPaIdentification on _BuPaIdentification.WorkforceAssignment = _AssignmentDetails.WorkAssignment //WorkforceAssignment
// inner join R_WorkAssgmtsBPIdentification as _BuPaIdentification on _BuPaIdentification.WorkforceAssignment = _AssignmentDetails.WorkforceAssignment
inner join R_WorkAssignmentKeyMap as _AssignmentKeyMap on _AssignmentKeyMap.WorkforceAssignment = _AssignmentDetails.WorkAssignment //WorkforceAssignment
// inner join R_BPUsrRole as _BPUserRole on _BPUserRole.BusinessPartner = _BuPaIdentification.BusinessPartner
// and _BPUserRole.BPRoleCategoryUsageCode = _BuPaIdentification.BPRoleCategoryUsageCode
// and _BPUserRole.BPIdentificationCategory = _BuPaIdentification.BPIdentificationType
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.ManagerAssignmentID = _ManagerWorkAssignmentVH.WorkAssignment
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 $projection.ControllingArea = _CostCenterText.ControllingArea
// and _CostCenterText.ValidityEndDate = _AssignmentDetails.WorkforceAssgmtEndDate
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_WorkforceAssignmentStatus as _WorkforceAssignmentStatus on $projection.WorkforceAssignmentStatus = _WorkforceAssignmentStatus.WorkforceAssignmentStatus
association [1..1] to R_WorkforcePersonFactSheet as _WorkforcePerson on $projection.PersonUUID = _WorkforcePerson.PersonUUID
association to parent R_WorkAssignment as _WorkAssignment on $projection.WorkAssignmentUUID = _WorkAssignment.WorkAssignmentUUID
and $projection.WorkAssignment = _WorkAssignment.WorkAssignment
// pernr addition
{
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 preserving type ) as WorkforceAssignmentIsPrimary,
_AssignmentDetails.ManagerAssignmentID as ManagerAssignmentID,
_AssignmentDetails.WeeklyWorkingDays as WeeklyWorkingDays,
_AssignmentDetails.WeeklyWorkingHours as WeeklyWorkingHours,
_AssignmentDetails.EmploymentPercent as EmploymentPercent,
// cast( '%' as percentageunit_kk ) as EmploymentPercentageUnit,
_AssignmentDetails.WorkforceAssignmentStatus as WorkforceAssignmentStatus,
_AssignmentDetails.IsBlocked as IsBlocked,
@Consumption.valueHelp:'_ManagerWorkAssignmentVH'
_AssignmentDetails.ManagerAssignmentExternalID as ManagerEmployee,
_AssignmentDetails.ControllingArea,
// _AssignmentDetails.ManagerAssignmentExternalID as Manager,
// concat( '#Worker-displayFactSheet?PersonExternalID=', _AssignmentDetails.ManagerAssignmentExternalID ) as ManagerURLTxt,
// case
// when _AssignmentDetails.ManagerAssignmentID is not initial
// then
// concat( '#Worker-displayFactSheet?PersonExternalID=', _AssignmentDetails.ManagerAssignmentExternalID )
//
// else null
// end as ManagerURLTxt,
cast('%' as qprozent) as EmploymentPercentageUnit,
//now, manager full name is virtual element in C view
// case
// when _AssignmentDetails.ManagerAssignmentID = '00000000' or _AssignmentDetails.ManagerAssignmentID is initial then 'No Manager'
// else _ManagerWorkAssignmentVH.FullName
//end as ManagerFullName,
_WorkAssignment,
_WorkforcePerson,
_ManagerWorkAssignmentVH,
_CostCenterText,
_CompanyCodeText,
// _BPUserRole,
_WorkforceAssignmentStatus
}
//where
// _AssignmentDetails.WorkforceAssgmtEndDate <> '00000000'
// and _AssignmentDetails.WorkforceAssgmtStartDate <> '00000000'
// and not(
// _AssignmentDetails.WorkforceAssgmtStartDate < _BPUserRole.BPUsrRoleValidFromDate
// and _AssignmentDetails.CompanyCode is initial
// )
// _AssignmentDetails.CompanyCode is not initial and _AssignmentDetails.WrkAssgmtIsTechnicalInactive is initial
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