C_RSHSuitableResources

DDL: C_RSHSUITABLERESOURCES SQL: CRSHSUITABLERES Type: view CONSUMPTION

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)

SourceAliasJoin Type
P_RSHSuitableResources P_RSHSuitableResources from

Parameters (7)

NameTypeDefault
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)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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]
;