@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***************************************************************************************************************
*/defineview P_RSHResourceUtilization
asselectfrom P_RSHResourceAvailability as Availability
leftouterjoin 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
casewhen
_Assignment.EmploymentInternalID isnullthen 0
else
sum(_Assignment.AssignedHours)
endas EmployeeStaffedHours
}
groupby
Availability.EmploymentInternalID,
Availability.CalendarDate,
Availability.Availability,
_Assignment.EmploymentInternalID
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"P_RSHASSIGNMENTPERDAY",
"P_RSHRESOURCEAVAILABILITY"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/