Utilization Engine
The Utilization Engine performs real-time computations using the schedules and work calendar to provide data for availability calculation. The resource planners, work planners, resource requests, and assign multiple resources to project can use this data to calculate accurate availability to help with staffing. Utilization Engine calculations are performed per resource and per year to summarize availability per day for the entire year.
For more information on how resource availability is calculated, see Calculating Resource Availability.
Enabling the Utilization Engine
To enable Utilization, select Use Utilization Engine in Utilization Settings.
Running the Utilization Engine Jobs
Once you have enabled the Utilization Engine, manually run the utilization engine job to generate initial utilization records for all resources. Schedule the job to regularly update and correct the Utilization Engine records for the eligible resources.
To run a batch job on demand:
- On the PSA Administration page, click Asynchronous Processes | Utilization Engine. The Utilization Engine window opens.
- Click Run. The batch job is submitted.
To schedule a batch job:
- On the PSA Administration page, click Asynchronous Processes | Utilization Engine. The Utilization Engine window opens.
- Click Schedule.
- Set the schedule day, time, and frequency.
- [Optional] To change your selection, click Back.
- Click Schedule.
Triggering the Utilization Engine Job
The following events trigger the utilization engine job to update the availability of impacted resources.
Events | Further Information |
---|---|
When a new resource is created or a work calendar is added on an existing resource. |
Creating Resources |
When a held resource request is created, an existing resource request is held, or a held resource request is deleted. | Holding Resources |
An assignment is created, or deleted or when one of the following fields on an assignment is updated.
|
Assignments and Schedules Overview |
When a schedule is updated. | Assignments and Schedules Overview |
Monitoring the Utilization Engine Job
From the Async Job Records tab, you can monitor the status of utilization engine asynchronous UE_Launcher and UE_Callable jobs in your Salesforce org. For more information, see Monitoring Asynchronous Jobs.
Calculating Resource Availability
Resource availability is calculated in hours or percentages based on the utilization engine records. If the Exclude from Time Calculations checkbox is selected for a specific resource, the Utilization Engine process will not run for that resource.
Depending on the configuration, the utilization engine job creates data in the form of utilization engine records, which are used by Resource Planners, Work Planners, Resource Requests, and Assign Multiple Resources to Projects to calculate availability.
Each Utilization Engine record is created for a resource for a calendar year. Depending on the values specified in the following custom setting fields, the Utilization Engine and Utilization Engine TOD records are created or updated:
- For Utilization Engine records:
Specify the number of days prior to the current date to calculate real-time utilization data in the Utilization Engine Start Range field. You can also set it to zero to start the calculation from the current date. By default, the value is 50.
Specify the maximum number of days in the Utilization Engine Max Range field for which you want to maintain the real-time utilization data.
- For Utilization Engine TOD records:
Specify the number of days in the Utilization Eng Max Range Shift Mgmt field to maintain real-time utilization data for shift management. By default, the value is 30.
Specify the number of days in the Utilization Eng Start Range Shift Mgmt field prior to the current date to calculate real-time utilization data for Shift Management. By default, the value is 5.
For more information, see Utilization Settings.
Objects | Formula |
---|---|
Work Planners | (totalWCHours - (includedBillableHours + includedCreditedHours + includedNonBillableHours + includedHeldHours + includedExcludedHours)) / totalWCHours |
Resource Planners | (totalWCHours - (includedBillableHours + includedCreditedHours + includedNonBillableHours + includedHeldHours + includedExcludedHours)) / totalWCHours |
Resource Requests | (totalWCHours - (includedBillableHours + includedCreditedHours + includedNonBillableHours + includedHeldHours + includedExcludedHours)) / totalWCHours |
Assign Multiple Resources to Projects | (totalWCHours - (includedBillableHours + includedCreditedHours + includedNonBillableHours + includedHeldHours + includedExcludedHours)) / totalWCHours |