C_RSHSuitableResources
Get suitable resources for a request
C_RSHSuitableResources is a Consumption CDS View that provides data about "Get suitable resources for a request" in SAP S/4HANA. It reads from 1 data source (P_RSHSuitableResources) and exposes 38 fields with key field EmploymentInternalID. It has 6 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| P_RSHSuitableResources | P_RSHSuitableResources | from |
Parameters (7)
| Name | Type | Default |
|---|---|---|
| P_StartDate | syst_datum | |
| P_EndDate | syst_datum | |
| P_EmployeeRequestDuration | rsh_ps_resource_availability | |
| P_EngagementProjectServiceOrg | rsh_ps_project_service_org | |
| P_EmployeeRequestPlanSkills | rsh_ps_required_skill_term | |
| P_IncludeSkillsFromPrevAssign | rsh_ps_include_skills_from_asg | |
| P_AvailMatchType | rsh_ps_avail_match_type |
Associations (6)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | P_RSHStaffingRequestDetails | _Request | _Request.ResourceDemandUUID = $parameters.P_ResourceDemandUUID |
| [0..*] | I_RSHProjectAssignment | _Asgn | _Asgn.ResourceDemandUUID = $parameters.P_ResourceDemandUUID and _Asgn.EmploymentInternalID = $projection.EmploymentInternalID |
| [0..1] | C_RSHManagerOfResource | _Manager | _Manager.PersonWorkAgreement = $projection.EmploymentInternalID |
| [0..1] | I_RSHPrefResText | _IsPreferredResourceTxt | _IsPreferredResourceTxt.DomainValue = $projection.ResourceIsPreferredResource |
| [1] | I_WorkforcePerson | _Person | _Person.Person = P_RSHSuitableResources.Person |
| [0..1] | I_WorkforcePersonImageURL | _PersonImage | _PersonImage.Person = P_RSHSuitableResources.Person |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | CRSHSUITABLERES | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #X | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| VDM.private | false | view | |
| VDM.viewType | #CONSUMPTION | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | Get suitable resources for a request | view | |
| AccessControl.personalData.blocking | #REQUIRED | view |
Fields (38)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | EmploymentInternalID | P_RSHSuitableResources | EmploymentInternalID | WorkForce Assgmt ID |
| Person | Person | Person/ Farm/ Field | ||
| EmployeeImageURL | ||||
| FullName | ||||
| PersonExternalID | _Person | PersonExternalID | ||
| EmployeeRequestMatchSkills | ||||
| EmployeeRequestMatchAvail | ||||
| AvailabilityMatchMonthly | ||||
| JobName | ||||
| CompanyCode | CompanyCode | Receiver Company Code | ||
| CompanyCodeName | _CompanyCode | CompanyCodeName | Company Name | |
| CostCenter | CostCenter | Cost Center | ||
| CostCenterName | ||||
| ServiceCostLevel | _ServiceCostLevel | ServiceCostLevel | Service Cost Level | |
| ServiceCostLevelName | ||||
| CountryendasCountry | ||||
| OrganizationalUnitName | ||||
| EngagementProjectServiceOrg | ||||
| EngmtProjectServiceOrgName | ||||
| EmployeeSkillTagID | _Skilltags | EmployeeSkillTagID | ||
| EmployeeSkillTagName | _Skilltags | EmployeeSkillTagName | ||
| UnitOfMeasure | _Request | UnitOfMeasure | Unit Protected Qty | |
| EmployeeAvailableHours | ||||
| EmployeeStaffedHours | ||||
| EmployeeRequestMatchRole | ||||
| EmployeeRequestMatchRoleDate | Term to | |||
| DefaultEmailAddress | DefaultEmailAddress | |||
| NormalizedPhoneNumber | NormalizedPhoneNumber | |||
| MblNormalizedPhoneNumber | MblNormalizedPhoneNumber | |||
| Region | _Address | Region | Venue Region | |
| AuthorizationPermission | ||||
| IsBusinessPurposeCompleted | IsBusinessPurposeCompleted | Purpose Completed | ||
| AuthorizationGroup | AuthorizationGroup | AuthorizGroup | ||
| WorkPackageName | _Request | WorkPackageName | Plan Item Desc. | |
| EngagementProjResourceText | ||||
| _Manager | _Manager | |||
| _CompanyCode | _CompanyCode | |||
| _IsPreferredResourceTxt | _IsPreferredResourceTxt |
Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.
-- Derived SQL interpretation of CDS view C_RSHSuitableResources.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: CRSHSUITABLERES
-- Parameters: P_StartDate : syst_datum, P_EndDate : syst_datum, P_EmployeeRequestDuration : rsh_ps_resource_availability, P_EngagementProjectServiceOrg : rsh_ps_project_service_org, P_EmployeeRequestPlanSkills : rsh_ps_required_skill_term, P_IncludeSkillsFromPrevAssign : rsh_ps_include_skills_from_asg, P_AvailMatchType : rsh_ps_avail_match_type
CREATE VIEW C_RSHSuitableResources AS
SELECT
P_RSHSuitableResources.EmploymentInternalID AS EmploymentInternalID,
Person,
cast(_PersonImage.WorkforcePersonImageURL as rsh_ps_resource_imageurl preserving type ) AS EmployeeImageURL,
cast(_Person.PersonFullName as rsh_ps_employee_name preserving type ) AS FullName,
_Person.PersonExternalID AS PersonExternalID,
cast( EmployeeRequestMatchSkills as rsh_ps_match_skill) AS EmployeeRequestMatchSkills,
cast(EmployeeRequestMatchAvail as rsh_ps_match_avail) AS EmployeeRequestMatchAvail,
cast(AvailabilityMatchMonthly as rsh_ps_match_avail_monthly) AS AvailabilityMatchMonthly,
_PersonWorkAgrmtJobText[1: Language = $session.system_language].JobName AS JobName,
CompanyCode,
_CompanyCode.CompanyCodeName AS CompanyCodeName,
CostCenter,
cast(_CostCenter._Text[1: Language = $session.system_language].CostCenterName as rsh_ps_costcenter preserving type ) AS CostCenterName,
_ServiceCostLevel.ServiceCostLevel AS ServiceCostLevel,
cast(_ServiceCostLevel._ServiceCostLevelText[1: Language = $session.system_language].ServiceCostLevelName as rsh_ps_servicecostlevel preserving type ) AS ServiceCostLevelName,
case when _CompanyCode.Country is not null then _CompanyCode.Country else _Address.Country end as Country AS CountryendasCountry,
cast ( _OrganizationalUnitText[1: Language = $session.system_language].OrganizationalUnitName as rsh_res_org_unit_desc preserving type ) AS OrganizationalUnitName,
cast(_serviceorg.EngagementProjectServiceOrg as rsh_ps_project_service_org preserving type ) AS EngagementProjectServiceOrg,
cast(_serviceorg.EngmtProjectServiceOrgName as rsh_ps_project_service_org_des preserving type ) AS EngmtProjectServiceOrgName,
_Skilltags.EmployeeSkillTagID AS EmployeeSkillTagID,
_Skilltags.EmployeeSkillTagName AS EmployeeSkillTagName,
_Request.UnitOfMeasure AS UnitOfMeasure,
cast( round( EmployeeAvailableHours,0) as rsh_ps_employee_available) AS EmployeeAvailableHours,
cast( round( EmployeeStaffedHours,0) as rsh_ps_employee_staffed) AS EmployeeStaffedHours,
cast(EmployeeRequestRolesInd as rsh_ps_match_role_indicator preserving type ) AS EmployeeRequestMatchRole,
cast(EmployeeRequestRolesLatestDate as rsh_ps_match_role_date preserving type ) AS EmployeeRequestMatchRoleDate,
DefaultEmailAddress,
NormalizedPhoneNumber,
MblNormalizedPhoneNumber,
_Address.Region AS Region,
cast('' as rsh_staff_authorization preserving type ) AS AuthorizationPermission,
IsBusinessPurposeCompleted,
AuthorizationGroup,
_Request.WorkPackageName AS WorkPackageName,
_Request._Role._Text[1: Language = $session.system_language].EngagementProjResourceText AS EngagementProjResourceText
FROM P_RSHSuitableResources
LEFT OUTER JOIN P_RSHStaffingRequestDetails AS _Request ON _Request.ResourceDemandUUID = $parameters.P_ResourceDemandUUID -- association [0..1]
LEFT OUTER JOIN I_RSHProjectAssignment AS _Asgn ON _Asgn.ResourceDemandUUID = $parameters.P_ResourceDemandUUID AND _Asgn.EmploymentInternalID = EmploymentInternalID -- association [0..*]
LEFT OUTER JOIN C_RSHManagerOfResource AS _Manager ON _Manager.PersonWorkAgreement = EmploymentInternalID -- association [0..1]
LEFT OUTER JOIN I_RSHPrefResText AS _IsPreferredResourceTxt ON _IsPreferredResourceTxt.DomainValue = ResourceIsPreferredResource -- association [0..1]
LEFT OUTER JOIN I_WorkforcePerson AS _Person ON _Person.Person = P_RSHSuitableResources.Person -- association [1]
LEFT OUTER JOIN I_WorkforcePersonImageURL AS _PersonImage ON _PersonImage.Person = P_RSHSuitableResources.Person -- association [0..1]
;
Learn More
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- CDS View Annotations — A Complete Guide
- What Is a CDS View in SAP S/4HANA?
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- 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
- BSEG to ACDOCA: The Universal Journal Migration
- Business Partner Migration: KNA1/LFA1 to BUT000
- Material Document Migration: MSEG/MKPF to MATDOC
- How to Find the Right CDS View for an SAP Table
- BW Extractor to CDS View Migration Guide
- S/4HANA CDS View Deprecation: What You Need to Know
- ABAP CDS View Tutorial — From Basics to Real-World Examples
- RAP and CDS Views — Building Transactional Apps in SAP S/4HANA
- Sales Document Status Migration: VBUP/VBUK Removal in S/4HANA
- CO Tables in S/4HANA: COEP, COBK, COSS, COSP to ACDOCA