P_RSHRESOURCEUTILIZATION

CDS View

P_RSHRESOURCEUTILIZATION is a CDS View in S/4HANA. It contains 2 fields. 9 CDS views read from this table.

CDS Views using this table (9)

ViewTypeJoinVDMDescription
P_RSHAvailMatchMonthlyCalc view left_outer COMPOSITE
P_Rshresource2monthsavail view inner CONSUMPTION 2 Months Availability of resource
P_Rshresource4monthsavail view inner CONSUMPTION
P_RSHResourceAvailSummary view from COMPOSITE
P_RSHResourceKPI view inner COMPOSITE
P_RSHResourceMonthlyUtilizatn view from COMPOSITE
P_RSHResourceWeeklyUtilization view from COMPOSITE
P_RSHRsceMonthlyUtilznCmplt view left_outer COMPOSITE
P_RSHRsceUtilznPerMnthWthDrft view from CONSUMPTION

Fields (2)

KeyField CDS FieldsUsed in Views
KEY EmploymentInternalId EmploymentInternalId 2
KEY YearMonth YearMonth 2
@AbapCatalog.sqlViewName: 'PRSHRESUTIL'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.private: true
@VDM.viewType: #COMPOSITE


/*
CONTRACT**********************************************************************************************************************

Name:                       Resource utilization per Resource, Per Day
Specification:              This View returns the availability and assigned days per Resource per Day
Ensures:                    Available Hours, Assigned Hours,per Day per Resource
Owners:                     TR
Contributors:               TR
Unit Test required Y/N:     Yes
Additional comments         None

END OF CONTRACT***************************************************************************************************************
*/

define view P_RSHResourceUtilization
  
  as select from    P_RSHResourceAvailability     as Availability
    left outer join P_RSHAssignmentPerDay         as _Assignment  on  _Assignment.EmploymentInternalID = Availability.EmploymentInternalID
                                                 and _Assignment.CalendarDate         = Availability.CalendarDate
    
{

  key Availability.EmploymentInternalID,
  key Availability.CalendarDate,
      substring(Availability.CalendarDate, 1, 6)                                                                                  as YearMonth,
      Availability.Availability                                                                                                   as EmployeeAvailableHours,
      //case needed because otherwise we return value NULL to calling views if there is no assignment for a calendar date

      case when
        _Assignment.EmploymentInternalID is null
        then 0
        else
            sum(_Assignment.AssignedHours)
      end                                                                                                                         as EmployeeStaffedHours
}

group by
  Availability.EmploymentInternalID,
  Availability.CalendarDate,
  Availability.Availability,
  _Assignment.EmploymentInternalID
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"P_RSHASSIGNMENTPERDAY",
"P_RSHRESOURCEAVAILABILITY"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/