.......Our Journey from Apps To Fusion

Self Service HRMS and AME

OAF Screen in Self Service HRMS - Without Programming - Part 1

User Rating: 5 / 5

Star activeStar activeStar activeStar activeStar active
Imagine you have a new requirement for rectifying a gap in "Oracle Self Service HRMS", i.e. SSHR. 
The client requirement is described as below
Requirement a. Give a facility to the employee to complaint when their leave/holiday gets rejected
Requirement b. If an employee's holiday request has been rejected by their manager, they can complaint to their Manager's manager.
Requirement c. In a new OA Framework page, employee will enter the complaint as follow
   Holiday Start Date
   Number of days
   Brief description of their complaint
   Is Holiday Health related?
Requirement d. This information is captured in database tables and then sent to employees Manager's Manager for approval. 

Effectively you will learn how to develop a complaining mechanism to the boss of your boss, in the event the holiday request has been unfairly rejected. 
If the employee's boss's boss approves the holidays, then Central Human resource team is notified.

In this article you will see how to create a Web Based Data Entry screen for this requirement in OAF Self Service HRMS without writing any line of code. 
In this first article on this topic, we will simply see the brief  steps for creating one such screen. This will be followed by detailed screenshots based steps.
In followup articles, you will also see how this can be integrated with AME. Requirement (c) and Requirement (d) as above can be implemented without writing any code barring some simple Workflow and SQL.

What are the features of this screen?
Using this screen employees will be able to create records, query the existing records, modify the records and even delete those records.

Can the data entered in this screen be linked to the person record in per_all_people_f?
Yes, the foreign key to this data will be the person_id of per_all_people_f.

Is it possible to enforce the approval of the entered Data?
Yes- again, this is possible via configuration in AME [Approval Management Engine], without writing any lines of code. 

What is the methodology for creating such screen?
We will define a flexfield which is also known as Special Information Types[SIT] in HRMS. 
You can create a new structure in the SIT that will contain segments as per your requirements. 
These segments will be visible as the fields in the Self Service page. 
In this example, we will create four flexfield segments/fields
    Holiday Start Date
    Number of days
    Brief description of their complaint
    Is Holiday Health related?

SIT- Means Special Information Types. This is a key flexfield in HRMS. You can define new structures in SIT to capture additional information. For example, there is no standard functionality in Self Service HRMS for an employee to lodge a complaint against their Manager.

Can validations be applied to these fields?
Yes of course, because value sets can be attached to the flexfield segments. These value sets will make the field appears as a drop downlist or as fields with LOV[List of Values] However there are some caveats. For the Flexfield segments with Value Set of Date, you will not see an LOV on the date column.

What are the high level steps for implementing this solution
1. Query on Key Flexfield Title "Personal Analysis Flexfield"
2. Create a new flexfield structure named XXFOCUSTHREAD_COMPL_HOLIDAY
3. Create the four segments for this new structure. 
    Make the segments mandatory as per business requirements. Also attach value sets to the flexfields where appropriate
4. Compile the flexfield ensuring that Allow Dynamic Inserts is enabled
5. Register this Flexfield structure as a Special Information Type
6. Create a new AOL Function named XXFOCUSTHREAD_SIT_COMPL_FUNC
This Function will be a replica of standard Oracle Function "HR_SIT_SS"
8. Attach the XXFOCUSTHREAD_SIT_COMPL_FUNC to menu "Employee Self Service" or any other Self Service HRMS Menu
9. Clear the global cache from functional administrator

Once your custom function is added to the menu, users will be able to open the Special Information Types screen. 
However if you recollect, all that we have done is to attach Oracle's "SIT page" to the "custom menu". 
This new structure that we have created contains the fields to be used by our data entry screen. 
However the structure XXFOCUSTHREAD_COMPL_HOLIDAY is not yet associated with the custom menu or the custom function.
Therefore, in this case,if the user clicks on custom menu prompt then following sequence of events will happen
a. Oracle will instantiate the Form Function attached to the custom menu
b. The form function will instantiate the standard Oracle "SIT Page"
c. The SIT page will open and  display all the Key Flexfield structures

However we are interested to display only one structure i.e. XXFOCUSTHREAD_COMPL_HOLIDAY on the page. 
In order to display only one structure, we need to do personalization at Function Level. 
We will see the details of all the above steps with screenshots in the next article

How will the screen appear once it is ready?
The end result of the screen will appear as shown below
As soon as you click on the new menu, the summary screen will appear, where the entered data against the person will be visible.
You can add or edit new records
The data entered is validated as per the value sets
Prior to submitting the information, use is shown the review screen
 The data is finally saved.
Please note- We are yet to implement AME in this example. Once that is done, data will not be captured in base table unless Approved.
The information, is stored in Oracle Human Resources SIT table, as shown below


0 #1 Kadhiresan 2009-09-28 10:43
Dear Anil,
Very useful information. If you could please provide AME setup information from the beginning, will be very very helpful for us.

Thanx & Regards,
Kadhir esan L
0 #2 2009-09-28 18:40
Hi Anil,

This is very good article. Thanks for sharing this. I'm quite exited to see the future parts of this article where requirement D is covered on how Line Manager's Manager can approve the leave from SIT transaction.

While reading this, I got a big doubt about why you have chosen SIT instead of EIT. As you have fields like "Brief description of their complaint" which is free text, the possibility of a re using the combination code is minimal. This way EIT (DFF) which does not store any combination code would be much easier in terms of performance and reporting.

I recently designed a solution for a Ticket subsidy system using EIT where claims department can raise a Ticket subsidy request (after validating the ticket receipt out side the system...that’s why its not in ESS or MSS) which checks for allowed balance for the year and automatically create an element entry and generate various letters for different situation like over the limit or no limit etc... In this system, I decided for EIT as it’s more flexible in terms of reporting and quite easy to maintain as there is no requirement of start date and end date like SIT. But this solution required some programming in terms of validation like checking for balance between EIT entries before committing as multiple entries are allowed in a singe transaction, creating the element entries. I was able to cover these logic in API Userhooks (could have done it thru extending the standard workflow as well :) ).

Please let me know if I’m wrong on my points as its quite interesting to always debate between EIT and SIT.

Ar un
0 #3 Anil Passi- 2009-09-28 20:21
Hi Arun,

This is just an example, and I intend to use this example to cover all possible scenarios that will help anyone to learn every possible technical aspect of Self Service HRMS.

In this specific case, of course you are right that the EIT could be used.
Barring the few steps of EIT Security/EIT Registration, remainder steps will remain largely the same whether EIT or SIT.

These series of articles are an attempt to explain SSHR architecture, and this will be applicable to any SSHR screen/process flow in Employee or Manager Self Service.

Thank s,
Anil Passi
0 #4 vikash007 2009-09-28 21:29
Hi Anil.

You are doing a gud work.
0 #5 Sachin Shirke 2009-09-30 09:50
Hi Anil,
I have been following your site for some time now. Got very useful information on it.
Keep up the good work

S achin Shirke
0 #6 Ken 2009-10-01 07:41
Hi Anil,
Thanks for the good article. Aluta Continua.
One question, i have a situation where i have two date segments start date and end date just like in your example. I need to validate the end date such that the value entered is not more six months than start date. I.e add_months(star t_date,6)
0 #7 Ken 2009-10-01 07:44
Hi Anil,
Thanks for the good article. Aluta Continua.
One question, i have a situation where i have two date segments start date and end date just like in your example.
I need to validate the end date such that the value entered is not more six months than start date. I.e add_months(star t_date,6) is less than end_date condition must be met.

The user should be notified of incorrect date entry on click of apply button or without navigating away from the segments page. I've created a user hook on HR_SIT_API on create of SIT record which unfortunately validates after the last approver approves but not at point of data entry on segment.

Kindl y advise on how i can validate the above.
0 #8 Anil Passi- 2009-10-01 08:38
Hi Ken

If you use Hook or Functional Trigger, those are based on BASE TABLES, i.e. PER%
However, when you implement AME, data goes to HR_API_TRANSACT IONS first, held within a CLOB, until the transaction is finalized post-approval. Therefore, the best bet for you is to "Extend The Controller AT FUNCTION LEVEL"

Thanks ,
Anil Passi
0 #9 Ken 2009-10-07 05:10
Sorry to ask a newbie question but segment data validation requirements have forced me to ask this.
How do i go about Extending the Controller at function level as advised above?. Hope it doesn't involve Jdeveloper for i will then have to learn it quickly :).

Kind regards

0 #10 Anil Passi- 2009-10-07 06:53
Yes- learn it quickly :)
You will have to learn jdeveloper sooner or latter, there will be no choice for Apps Developers as entire development suite in Fusion Apps [except OBIEE and few other things] will be managed from jDeveloper.

Se e this for controller extension

Anil Passi
0 #11 Dominic 2011-11-23 06:22
Hi Anil,

Please there is a requirement to produce an SIT Page on Self Service that will be able to capture a special kind of allowance employees. i have created the page using SIT via flexfield. i want to calculate the no of days based on the start date and end date the user specified and compute the total amount based the applicable rate of the allowance.

How can i add a button on this page in order to achieve this functionality?

Please kindly assist me with a solution as soon as you can

kind Regards

Domini c
0 #12 nani_v_4 2012-07-17 00:30
Hi Anil,

Can you please help me how to restrict the no of records that can be entered in an SIT ? For example, my requirement is such that the employee can enter maximum of 4 records and can update only those 4 records in SIT.

Kindly assisst me ASAP.

Thanks in Advance,

Vishn u

Add comment

Security code

You are here: Home Training Articles Functional Documents AME and Self Service HRMS Functional Self Service HRMS and AME OAF Screen in Self Service HRMS - Without Programming - Part 1