Availability is displayed in the Context Header and when you see views of people that show their photo and their availability.
The availability can take absence, training, and schedule information held within Oracle HR and calculate whether someone is available at the time the user is viewing their profile. You can configure availability to tailor precisely which Oracle HR data should be used when determining availability.
Availability is configured using Fast Formula. Three separate Fast Formulas can be configured to look at Absence, Learning, and Work Schedules to give a combined picture of availability.
Auto setup automatically creates default Fast Formula and updates a User Defined Table that specifies which Fast Formula is active. The default formula is named as follows:
- [Object prefix]_COM_AVAIL_ABS, eg, XXX_COM_AVAIL_ABS
- [Object prefix]_COM_AVAIL_ENR, eg, XXX_COM_AVAIL_ENR
- [Object prefix]_COM_AVAIL_CUSTOM, eg, XXX_COM_AVAIL_CUSTOM
You can view the active Fast Formula in the User Defined Table as follows:
Use an HRMS Administrator's responsibility, such as US HRMS Manager. Ensure this is attached to a Business Group into which this product was installed (refer to Installation for more information).
Navigate to Other Definitions: Table Values
Query back the table XXAS_COM_AVAIL_FORMULA
View the values for the Absence, Enrollment, and Custom rows. These contain the Fast Formula used for each of the different types of availability.
Although Auto setup creates a [Object prefix]_COM_AVAIL_CUSTOM Fast Formula, it's not specified in the User Defined Table. That's because many clients prefer not to include work pattern information in the availability. If you wish to enable this Fast Formula, please set the Custom row value to the name of the custom formula, eg, XXX_COM_AVAIL_CUSTOM.
The precedence of the formula is defined by the Display Sequence specified on the Row’s definition, with the lowest Display Sequence having the highest precedence. By default, the order is Absence, Enrollment, Custom. This order determines the type of availability to show when more than one event occurs at any time. For example, if someone is scheduled to work but is on vacation, their vacation will show because this has higher precedence. Change the Display Sequences on the rows to alter the default precedence.
The basics of availability
When Applaud HCM displays a person’s photo or profile, it evaluates each person’s availability by executing the following fast formula:
- [Object prefix]_COM_AVAIL_ABS – availability based on absence records
- [Object prefix]_COM_AVAIL_ENR – availability based on training records
- [Object prefix]_COM_AVAIL_CUSTOM – availability based on schedule information. Disabled by default.
Each formula executes in turn and deduces whether the person has an event at the current date and time. For example, the absence formula will evaluate if the person is currently absent from work, the training formula will evaluate if they are currently on a training course, etc.
The default formulas contain logic that calculates the most common rules around absence and training. These formulas can be tailored to your requirements. For example, you might change the Formula to ignore eLearning; you could pull in schedule information from a 3rd party scheduling system, or you could change the absence types that are taken into account.
If you are recording absence information within Oracle HR or training enrollments within Oracle Learning Management, it is highly recommended you review and modify these formulas to ensure the availability evaluation is aligned with your implementation choices, such as absence types and training delivery methods.
The outputs of the Fast Formula are described below.
Following outputs are supported:
- Do Not Disturb
These outputs are codes used within internal logic and are never displayed to the user.
When an event is found one of the outputs above specifies what effect that event has on availability. For example, if someone is found to be on vacation, that event would normally mean that person is unavailable or busy. Another example could be a training enrollment that is marked as Waitlisted. That event would be marked as Tentative – the person may or may not be available.
Invisible is a special code that indicates that a particular event should have no impact on availability, for example, open enrollment for eLearning.
The default colors for availability are red for unavailable, green for available, and grey for tentative or unknown.
These colors can be easily modified. You can specify a color name or a hex color. The available color names are Aqua, Black, Blue, Fuchsia, Gray, Green, Lime, Maroon, Navy, Olive, Purple, Red, Silver, Teal, White, Yellow.
This is a short piece of text describing someone’s availability. Examples could be Available, In Training, and Unavailable.
This text will give more detail about the person’s availability. For example, the description could be I am on training from 20-July to 25-July.
The formulas execute in a defined order. The default ordering is Absence, Training, and then Custom. When two events are found at the same time the event with the highest precedence is displayed.
This ordering can be changed, for example, you may wish Training events to have higher precedence over Absence. Details on how to do this are given in Active Fast Formula.
Users updating availability
It is currently not possible for employees to update their availability status.
Configuring availability for absence
The formula [Object prefix]_COM_AVAIL_ABS has the behavior as described below.
All absence types are evaluated. If any confirmed absence record is found on the current date and time:
- The person will be marked as Unavailable
- The person will show as Absent (in some cases, such as Vacation, the absence type will be shown).
- The details of the date the person returns will be shown
- If the absence is open-ended, the return date will be shown as Unknown.
If an absence is found on the current date and time that is pending approval, the person will be marked as Tentative. Otherwise, the Person is considered Available and the next formula will be evaluated.
The default colors are Red for Unavailable, Green for Available, and Grey for Tentative.
More documentation on the Fast Formula, including a description of Inputs, can be found within the formula itself.
Suppressing absence types
You may wish to stop some absence types from being considered when availability is evaluated. For example, you may not want someone on Compassionate Leave to be marked as Unavailable for privacy reasons. In this case, modify the formula in the following way:
If upper(Absence_Type) like '%COMPASSIONATE%' Then (Free_Busy = 'Invisible')
Setting the Free_Busy flag to Invisible effectively skips over that absence.
You may wish to change the colors of the availability to introduce different statuses. This is easy to do via the formula. For example, to change the tentative status from grey to yellow, change the following logic:
/* Identify pending approval absences */ If Status = 'Pending' Then ( Free_Busy = 'Tentative' Color = 'Yellow' Availability = Availability + ' (pending approval)' )
Changing the descriptive text
If you wanted to change the text for Vacation to show Paid Leave instead, for example, you could change the following logic from:
Else If upper(Absence_Type) like '%VACATION%' Then ( Availability = 'On Vacation' Desc_Text = Desc_Text + ' on vacation' )
Else If upper(Absence_Type) like '%PAID%LEAVE%' Then ( Availability = 'On Paid Leave' Desc_Text = Desc_Text + ' on paid leave' )
You are free to use Formula functions to pull back any data within Oracle HR and display it within the Availability descriptor.
Configuring availability for training
The behavior of the seeded formula[Object prefix]_COM_AVAIL_ENR is described below.
All training enrollments for all delivery methods are evaluated.
If enrollment is found on the current date and time, then:
- The person will be marked as Unavailable if the system enrollment status type is anything other than Attended, Waitlisted, or Requested
- The person will show as being In Training
- The details of the date the person completes the training class will be shown
- If the training class is open-ended, it is considered as having no scheduled finish.
- If a learner is attending a class with sessions, then the learner is only considered Unavailable if the session falls on the current date and time, otherwise, they will be considered Available.
If any training enrollment is found on the current date and time that is pending approval or in waitlisted status, the person will be marked as Tentative. Otherwise, the Person is considered Available and the next formula will be evaluated.
The default colors are Red for Unavailable, Green for Available, and Grey for Tentative.
Additional documentation on the Fast Formula, including a description of Inputs, can be found within the formula itself.
Suppressing delivery methods
You may wish to stop some classes being evaluated for availability if they are taught in a particular way, i.e., restricting by Delivery Method. The most common example will be restricting the evaluation of e-Learning. This type of learning is often set up with an open-ended enrollment and would be unlikely to affect someone’s availability in the same way as classroom-based training.
To suppress classes of a particular delivery method, you need to make use of the Invisible availability status. In this case, modify the formula in the following way:
if Delivery_Mode = 'eLearning' or Delivery_Mode = 'CD-ROM' ( Free_Busy = 'Invisible' )
This will ensure the enrollment is ignored.
You may wish to change the colors of the availability to introduce different statuses. This is easy to do via the formula. For example, to change the Waitlisted status from Grey to Yellow, change the following logic:
Else If upper(Enrollment_Status) like 'REQUESTED' Or upper(Enrollment_Status) like 'WAITLISTED' Then ( Desc_Text = 'Unconfirmed: I could be on a training course' Free_Busy = 'Tentative' Color = 'Yellow' )
Changing the descriptive text
If you wanted to change the title for ‘In Training’ to ‘In a classroom’ when people are on instructor-led training, you could enter the following logic:
If Delivery_Mode like '%INSTRUCTOR%LED%' ( Availability = 'In a classroom' Description = 'I''m currently unavailable due to taking part in some instructor based training' )
You are free to use Formula functions to pull back any data within Oracle Learning Management and display it within the Availability descriptor.
Configuring availability for schedules
Schedule-based availability is disabled by default.
Schedule information can be held in multiple places within Oracle E-Business Suite. In many cases, Oracle HR will be interfaced with a third-party Scheduling or Time Card system. Therefore the formula for schedules, [Object prefix]_COM_AVAIL_CUSTOM, contains only light-weight default behavior and is intended for users to modify to retrieve schedule information using their own code and logic.
However, the formula does have some default logic, which looks at the working times that are held at various levels within the Oracle HR data model hierarchy. Start and end times are evaluated on the following objects:
- Business Group
So, for example, if there is no start and end time against assignment, then start and end time on the position will be used and so on through to Business Group.
If there are no start or end times defined at all, then the start time defaults to 09:00 and the end time defaulted to 17:00.
In the default formula, it is assumed that Saturday and Sunday are non-working days. This is hard-coded within the formula but can be changed.
The default behavior of the formula is then:
- The person will be shown as unavailable if the day is a non-working day
- The person will be shown as unavailable if the time is before the start time or after the end time
- Otherwise, the person will be shown as available
The default colors are red for Unavailable & green for Available.
Modifying the formula
It is likely that to retrieve schedule information from elsewhere in Oracle HR (or from data imported from a 3rd party application) you will need to create Formula Functions and embed new logic within the formula. Examples of where schedule information can be held are within Oracle Time and Labor, Common Applications Calendar, UK Work Patterns. All of these schedule repositories require you to implement your own fast formula logic.