<-----Google Analytics Code Start----> <-----Google Analytics Code Close---->
Skip to content



Default screen resolution  Wide screen resolution  Increase font size  Decrease font size  Default font size  Skip to content Default color Pink color Green color Green color
This website has now moved to http://apps2fusion.com

RetroPay Enhanced Setups | Print |  E-mail
Written by Anil Passi   
Friday, 15 December 2006
In this article, I will explain the background & setups needed for Retro-Pay Functionality.

What is retro pay?
Retro as a term is related to Past. Hence RetroPay is a payment made for an event of past.

What is an example of retro pay?
Say in the month of Feb06 you were given "Cost Of Living Allowance" for a value 200. For some reasons the element entry did not take place correctly in Feb06 and the element entry was done for a value of 150 only. Let’s say now you are in May06, and you realize that you have been  Short-Payed. You will in this event inform your payroll department to make the necessary backdated adjustment to that element entry.


The challenges are:-
1. Feb06 period is already closed. Hence you can not rerun the payroll for the month of February06 again.
2. You do not wish to capture that Element Entry in May06, as that can cause audit issues, and also can have tax implications as this is an Earning Element.

Can we still go backwards to capture the element entry in Feb06(by date tracking)?

Yes, although with we need to do certain extra setups, and also we need to run some RetroPay processes. I will try to explain all of that in the context of Oracle Payroll.


Operational steps prior to Oracle Apps 11.5.10
I think prior to 11.5.9, the payroll manager would do below steps:-
Step 1. Make a backdated change to your Element Entry.
Step 2. Include your assignment into an assignment set.
           This assignment set would have included a list those people for which retro-pay must be run.
Step 3. Run the retro-pay process for that assignment set.

Hence you were reliant upon your Payroll Manager to remember to include your assignment in Step 2.
Now in 11.5.10 onwards, the "Step 2" is no longer needed if you have implemented Advanced RetroPay.
In this article, I will be explaining the setups needed for Advanced RetroPay process.


What are the setups we need to do to implement advanced RetroPay?
You must refer to Metalink Note 216951.1 for the purpose. However, I would like to explain the setups in a bit more details here.

Setup 1. Navigate to a screen named "Functional Area Maintenance".
Ensure that the desired pre-installed triggers are visible as below.

First find the screen name "Functional Area Maintenance"

Query on "INCIDENT REGISTER" in the Name Field.


Setup 2. Include your Business Group name in the "Business Group" tab, in the Functional Area Maintenance screen.


Setup 3. You need to enable your legislation too, in the same “Functional Area” screen.
This will be the country code. I guess different countries have different rules to handle taxation of Retro pay (for example if you make backdated changes in previous tax year should payroll taxation effect your allowances of previous year or this year?)


Setup 4. Making a backdated change is an Event in Oracle Payroll. But there are various other events that can take place in Oracle HRMS/Payroll. Hence you will need to tell Oracle Payroll which events should trigger Retro calculation.

Example : Your business requirement can be that a backdated change to an element triggers retro-pay calculation. However your business requirement may not require recalculation if person is given backdated promotion/grade change.
By means of event groups, you tell payroll which list of events can initiate a retro pay process. Event group has a type, which in this case will be Retro.

For this Demo, I have included the following events in group "XX ANIL TEST"

Update Type


Column Name

Datetrack Update



Datetrack Update



Datetrack Insert



Datetrack Update



Datetrack Correction




Setup 5. When the event i.e. Change of Element Value takes place, Oracle registers that event in a table named PAY_PROCESS_EVENT.
Entry in this table is created by means of a Trigger. I will possibly write another dedicated article to explain Triggers in Oracle Payroll.
Anyway, we must ensure  that HRMS triggers that record Element Entry Value changes are Enabled.  I also suggest that you read Metalink note 216951.1

You need to ensure that the trigger Enabled and Generated checkboxes are checked.
In case you were do retro-pay for say Grade/Position change, then relevant trigger for Position must be enabled.

Setup 6. In case you wish to feed the results of RetroPay calculations into a different Element, then you can specify that by specifying that in Recalculation tab in Element Entry.

OK that's it about the setups for Advanced RetroPay.

Now some Q & A, read these if interested to drill further.

We have RetroPay by Element and also Advanced RetroPay. Can we use both Functionalities together?
I think you should use just one of those. The advanced retro-pay internally creates the Assignment Set automatically.
In case of older Retropay process, payroll admin staff had to create the Assignment set manually.

Which process do we run to initiate RetroPay processing for our backdated changes?
That there can be various "Event Groups" defined(some for proration and some for Retro[event group type being retro].
All the changes pertaining to all Event Groups would have created entries in PAY_PROCESS_EVENTS.
Retro Notification report will filter the events applicable to RetroPay and will populate PAY_RETRO_ASSIGNMENTS and  PAY_RETRO_ENTRIES .

What are the processes that one needs to run?
Step a.
You will first run "Retro-Notifications Report (Enhanced) - PDF". This will read the records from PAY_PROCESS_EVENTS.
This process will insert eligible records into PAY_RETRO_ASSIGNMENTS and  PAY_RETRO_ENTRIES .
Step b. Run process Retropay (Enhanced). This process will do the require calculations to differential payments.

Note: This functionality is not yet available for all the legislations, but most major one's are supported.

Comments (19)add
written by balkrishna , February 22, 2007
hi Anil Sir Article is excellent
The basic of the Retro pay i uderstand i am workin on the 11.5.9
therefore i can not able to practicle it

If u can give more information about the triggers in payroll then it will help lot

written by Arun Kumar Anantham , March 22, 2007
very good article....i have been struggling with this setup for the entire day and finally i came to ur site and my work is done in few mins.

Thanks a lot.
written by Nisha , April 20, 2007
It was indeed a very useful article. We are facing some performance issues with retropay.Actually We have some un-necessary retropay elements enabled which is creating performance issues. We need to disable those unnecessary Retropay flags and links. If you can help me out with some API or procedure, that will be very helpful for me.
written by Deepashree J , August 03, 2007
learnt a lot. Thanks Anil
written by Deepashree J , August 03, 2007
Actually, there is an SR logged with Oracle for the Retropay (Enhanced) process' performance issue. We also applied the recently released mandatory patches.

Still our issue with certain elements with respect to the terminated employees and the change in the assignment status of few employees is resulting in the retropaid elemnets to error, though the process is completing normal. In the payroll process results, there numerous employees and ex-employees assignments completing in error.

Please help..
written by Raja P , August 06, 2007
Hi Deepa..

The info provided by you isnt sufficient..can u paste here the SR#...the error u got....some screent shots of the error...or the log files of the process...
possible reaons for the error cud be:
1. element links are not created
2. element's termination details are marked incorrectly
or any other reason..
pls post detailed info if u can...
written by Bhaskara Pavan , September 05, 2007
Hi anil,your article is very useful.
Presently i am working on Retro pay reports in D2K.
I have no idea on retro tables and how to link the person details with retro tables.
can u please give me some basic idea on retro tables.

Pay_Retro_Entries and PAY_RETRO_ASSIGNMENTS not populated
written by Gayatri Jayaraman , October 17, 2007
Hi Anil,

Im runninmg the retronotifications report. Although Pay_Process_Events table has the requirted for data,on running the report Pay_Retro_Entries and PAY_RETRO_ASSIGNMENTS are not populated.Could you pls help me on the same?

Thanks in advance,

Thanks & Regards,
Gayatri Jayaraman
written by Raja Palli , October 18, 2007
Hi Gayathri

Issues could be:
1) Incorrect Retro Event Group Setup - event group not specified while running the report!!
2) RetroNotifications Report is run after the sysdate (current system date)

Please correct them and reply back if still the issue isnt resolved!!


Pay_Retro_Entries and PAY_RETRO_ASSIGNMENTS not populated
written by Gayatri Jayaraman , October 19, 2007
Hi Raja,

Thanks for the response.
I ran the report specifying the event group and also the Retropay is run for the current date that is the systemdate.

But still data is not getting populated.

Can you pls throw some light?

Anilsmilies/tongue.gifls help me on this.

Thanks & Regards,
Gayatri Jayaraman

Pay_Retro_Entries and PAY_RETRO_ASSIGNMENTS not populated
written by Gayatri Jayaraman , October 19, 2007

Just to add the org_process_event_group_id in pay_process_event is having a null value.

Thanks & Regards,
Gayatri Jayaraman

written by Raja P , October 22, 2007
org_process_event_group_id being NULL shouldnt matter!!

Can you let us know what element is getting updated/corrected.
What is the scenario for retropay u r testing ..so that i can try here.
Also..can you paste the query results for pay_process_events for your assignment.


What is the first code SQL / PL-SQL called by the retro ?
written by Abdelmalek , October 30, 2007
Hi Anil,

First of all, thank you very much for this site and I wish you a good continuation.
My question is:
The concurrent program "Retropay (Enhanced)" uses the generic executable PYUGEN and I would like to know, what is the SQL or PL-SQL code that is called to begin treatment of retro pay.
I know that Oracle uses data from the two tables: PAY_RETRO_ASSIGNEMENTS and PAY_RETRO_ENTRIES, which are updated after executing the concurrent program "Retro-Notifications Report (Enhanced) - PDF".
In other words, I try to debug a retro calculating problem, that we have, but I didn’t found the way to begin.
I should be grateful if you can help me on this issue.


written by AnilPaassi , October 30, 2007

Please enable the sQL*Trace against the concurrent program.
This will tell you all the SQL and API's that get executed by RetroPay process

Many Thanks
Anil Passi
written by Abdelmalek , October 30, 2007
Hi Anil,

Thank you for the answer
The only way I know to get trace is to insert a logging entrie into the pay_action_parameter_values tabe as follow :
values ('LOGGING', 'GMERFV');
But this one generate a heavy log file (more than 100 Mb !!) which is unreadble.
Are you talking about another way in your answer ?

Thank you

written by AnilPasssi , October 30, 2007
Indeed, you can query the concurrent program definition from Application Developer.
In the conc program definition screen, there is a checkbox named "Enableed Trace"

After enabling trace, you will see a file gettting created in directory
select value from v$parameter where name like 'user_dump_dest'

Anil Passi
PS: It is also possible to enable the trace for conc programs with bind variables

written by Abdelmalek , November 09, 2007
Hi Anil,

Sorry for the delay (many tasks at the same time).
I enabled trace on the concurrent program "Retropay (Enhanced)" but the trace file didn't give me more details i want.
Another question, do you know what sql or pl-sql Retropay is calling first when running. In other way i want debug the problem we have with the retropay and in wich we have an SR logged since december 2006 and no issu until now.

Thank you for your help.
retro pay
written by Andy , February 18, 2008
hello anil,

I am unable to create retro set . can u pls help me to do that

thnx in advance
Very good Document
written by Jithin Dev , March 05, 2008
Hi Anil,

Thanks alot for this wonderful document. I was struggling to understand the concept of Retropay and searched in metalink too i didnt get any document which is as good as this.
I am new to Payroll Module so I need your help in following.

1. Here client is going to change the grades of some employees there by changes in there salary too. All the changes are with effect from 1st jan,08. So i want to pay the arrears to the employees for whom the grade& salary got changes.

The senior Payroll guy has already done the set ups required for it (as in your documents) Now How to pay arrears for a single employee, or the employees for whom the grade& salary got changes.

Awaiting for your valuable reply..
Once again thanx alot for such a wonderful site.

Jithin Dev
You must be logged in to a comment. Please register if you do not have an account yet.