Introduction
Many a times there could be a genuine business need where-in we are supposed to make some changes to the existing setups in the Absence Configuration and we do not want any new absence recording to be entered by the system via either UI Entry , HDL , REST or any other method.
While there are multiple ways like:
- Raise a SR with Oracle to ensure the server can be brought down during the upgrade period
- Hide Menu Item from Structure
- Personalize the “Manage Absence Records” page to hide the “+” icon
- Remove privileges from the delivered / custom role to ensure the Absence Recording pages are not visible to end users
But, none of the above approach is full proof as while the above options may restrict new absence entry from UI but it would not be able to restrict absence entry via HDL or REST API.
So in such situation we can make use of “Global Absence Entry Validation” fast formula.
In this example, we will demonstrate how we can achieve this.
So, without further ado let’s get started.
Configuration Steps
In order to achieve the functionality mentioned above we would need to perform the following steps:
- Create a new message which will be displayed when a new absence transaction is being created.
- Create a custom Global Absence Entry Validation Fast Formula
- Attach the newly created Formula to all active absence type
Creating new message
We will create a new message which will have the following details:
Creating a new Global Absence Entry Validation Fast Formula
We would also need to create a “Global Absence Entry Validation Fast Formula”. Details of the formula is below:
Associating Validation Fast Formula to Absence Type
Ideally we should attach the newly created Validation Fast Formula to all active absence type to ensure none of the absence recording takes place but for now we will only attach the fast formula to one absence type (‘Sick’ absence type for this example) for sake of simplicity.
Navigation: Setup and Maintenance -> Manage Absence Type -> Search for “Sick” Absence Type -> Correct-> Add “SYSTEM_UPDATES_IN_PROGRESS_VAL” to Validation Formula field
And with this our configuration steps are complete. Next, we will try to verify our setup and check if we get desired results.
Verification
We will verify the setup by trying to record absence in two ways namely via UI and via HDL
Verification from UI
We will pick a employee (employee number 40 for this example) and try to book an absence of “Sick” absence type.
Verification Using HDL
We would try to perform the same transaction(using exact same data attributes) using HDL.
The HDL file would look like:
We will save the above content in a file named PersonAbsenceEntry.dat and zip the same (File Name of zipped file is Emp40_AbsenceEntryHDLLoad.zip)
And when we try to load the HDL file we get below error:
Conclusion
So, this is how we can restrict recording of new absences by making smart use of Validation Fast Formula in Oracle HCM Cloud Absence Management.
While, we have only demonstrated that the restriction applies to both UI and HDL but the same will be applicable for REST / SOAP web services too and the reason for this assumption is that the HDL load also internally calls the loader service ( which is the same one called by REST / SOAP web service) and if we get error in HDL we will get the same via REST /SOAP too. I have not tried this but you may try and share your findings.
Also, one important point to note is this entire process would not be able to any “WITHDRAWN” action performed on existing absences as Global Absence Entry Validation does not gets triggered when a existing absence is WITHDRAWN.
And, with this I have come to the end of the article, hope this was a good read and you guys have understood the concept.
Thank you all for your time , have a great day ahead.
Downloadable file