How does the Retro Notification Report and Retropay (Enhanced) Work?

The retrospective changes made will be recorded in pay_process_events with the following details:

  • pay_process_events.effective_date as the effective date (back date) in the system on which the change/update was made
  • pay_process_events.creation_date as the system date when the change/update was made.

When the Retro Notification report (RNR) is run, it will check for the date stored in pay_recorded_requests.recorded_date with attribute_category RETRONOT_ASG. This will tell RNR till which date the events are processed for an assignment. And will find the new events (i.e. events with creation_date after the recorded_date) and process them. It will create retro assignments (pay_retro_assignments) and retro entries (pay_retro_entries)

The Retropay(Enhanced) will process the assignments for which records were inserted into pay_retro_assignments by last RNR. It reprocesses all payroll actions (Quick Pay, Run, Balance Adjustments and Reversals) and creates retro entries where variances in balances are found.

If you do any further retrospective changes, the date stored in pay_process_events.creation_date would be greater than the pay_recorded_requests.recorded_date. Hence it would be processed in the next RNR run. This RNR would insert a new record in pay_retro_assignments and the same would be picked up by Retropay (Enhanced).


Doc ID 1213203.1


Extra Information Types (EIT) in Oracle Applications

In this blog I will explain how to create EIT in Oracle HRMS.EITs are basically Descriptive Flexfields (DFF).Standard product has EIT DFFs defined in forms such as Person,Assignment,Job etc.We can add segments to the defined DFF based on our requirements so that it will appear in corresponding screen.Compared to SIT EIT has added security.We can enable EIT  for specific responsibility.

Following steps needs to be perform to create EIT.

1) Create the DFF segments.

Navigate to Application Developer > Flexfield > Descriptive > Segments.

Query for Extra Person Information under Human Resources application.

Uncheck Freeze Flexfield Definition and create the segment.

Click on Segments.Enter the segment details.

Click on save.In the Descriptive Flexfield Segments window check the Freeze Flexfield Definition.Save your work.

2) Register the Extra Information Types.

Navigate to Super HRMS Manager responsibility.Select Register Extra Information Types (EITs) standard concurrent program from the SRS window.Give appropriate values and submit.

3) Assign the EIT to responsibility.

Navigate to Security > Information Types Security under any HRMS responsibility.

Choose the appropriate responsibility (Here I am using Human Resources, Vision Enterprises). Assign the above created EIT.

Save your work.

4) Test the EIT.

Navigate to Human Resources, Vision Enterprises responsibility.Choose any person of type Employee.Click on Others and choose Extra Information.

Save your work.

The above entered information will get populated in PER_PEOPLE_EXTRA_INFO.

The API to create EIT information is HR_PERSON_EXTRA_INFO_API.

Date Track Modes

Update Date Track Modes

CORRECTION : Over writes the data. No history will maintain.
UPDATE : Keeps the history and new change will effect as of effective date
UPDATE_CHANGE_INSERT : Inserts the record and preserves the future
UPDATE_OVERRIDE : Inserts the record and overrides the future

 Delete Date Track Modes

ZAP : wipes all records
DELETE : Deletes  current record
FUTURE_CHANGE : Deletes current and future changes.
DELETE_NEXT_CHANGE : Deletes next change

How to Create Custom Employee Number Generation via Fast Formula

1. Create Sequence
create sequence sac_emp_number
start with 1

2. Create Function to Generate Desired Sequence Number
p_business_group_id   IN NUMBER,
p_person_type         IN VARCHAR2,
p_party_id            IN NUMBER
l_emp_number         VARCHAR2 (15) := NULL;
l_applicant_number   VARCHAR2 (15) := NULL;
l_npw_number         VARCHAR2 (15) := NULL;
l_auto_number        VARCHAR2 (15) := NULL;
SELECT   employee_number, applicant_number, npw_number
INTO   l_emp_number, l_applicant_number, l_npw_number
FROM   per_all_people_f
WHERE   party_id = p_party_id
AND TRUNC (SYSDATE) BETWEEN effective_start_date
AND  effective_end_date;
l_emp_number := NULL;
l_applicant_number := NULL;
l_npw_number := NULL;

IF     l_emp_number IS NULL
AND l_applicant_number IS NULL
AND l_applicant_number IS NULL
IF p_person_type = ‘EMP’
l_auto_number := ‘SAC-‘ || sac_emp_number.NEXTVAL;
ELSIF p_person_type = ‘APL’
l_auto_number := ‘APL-‘ || sac_emp_number.NEXTVAL;
ELSIF p_person_type = ‘CWK’
l_auto_number := ‘CONT-‘ || sac_emp_number.NEXTVAL;

RETURN l_auto_number;
3. Attach Setup Business Group to Global Super HRMS Manager 
Navigation: System Administrator -> Profile -> System
Responsibility Name: Global Super HRMS Manager
Profile Option Name: HR: Security Profile
Set Profile as “Setup Business Group” at Responsibility Level

The Above Step is Mandatory as one cannot generate Auto Employee Numbering on any custom Business Group. This could be possible on “Setup Business Group”

4. Create Formula Function: 
I. Navigation: Go to Global Super HRMS Manager -> Other Definitions -> Formula Functions
III. Parameters:
Data Type: Text
Class: External function
•  Definition: <Name of the Function> SAC_GENERATE_EMP_NUMBER

Context Usages


5. Create Fast Formula: EMP_NUMBER_GENERATION
Navigation: Global Super HRMS Manager -> Total Compensation -> Basic -> Write Formulas

The Below Naming Convention should be used, so as to Generate Custom Auto Numbering Sequence for Employee, Applicant or Contingent Worker

I. Employee EMP_NUMBER_GENERATION Person Number Generation
II. Applicant APL_NUMBER_GENERATION Person Number Generation
III. Employee CWK_NUMBER_GENERATION Person Number Generation

Type: Person Number Generation

Formula (For your Reference):
default for party_id is 0
inputs are
person_type (text),
party_id (number)

next_number = ‘0’
next_number = sac_number_generation(person_type,party_id)
return next_number

Please note if one has different Numbering Sequence in-case of Multiple business groups, it has to be handles via Fast Formula or PL/SQL Code


** Notes**

  1. Change of Method from Automatic to Manual is possible. But Till Global NUmber is not generated.

If you choose Employee Number Generation = Manual, and then later decide to change to Automatic, you can do this.
But, if you started as Manual, and then changed to Automatic, and then once again want to change back to Manual, Employee Number Generation = Manual will no longer show up in your LOV for Employee Number Generation.

AME Short Notes

AME consist of:

  1. AME Transcation Type : Encapsualtion of Business Rules
  2. AME Attributes: Variables
  3. AME Rule : Combo of if else condition
  4. AME Action : Return Value
  5. AME Approval Group : Can be static or dynamic

Profile option “AME:Installed” must be set to Yes, at application level to the calling application to be able to use AME.. For example, to make iExpenses use AME, you should set profile to Yes for “Payables” Application.

AME Transaction Type : Can be created by resp. Approvals Management Administrator

Rest all : Approvals Management Business Analyst


Form Function:

2 parameters named pAMETranType and pAMEAppId are passed as parameter to the Form Function. This tells which AME Transaction Type will be used by the SSHR screen.

However the decesion of whether AME is switched ON or OFF is decided by a Wokflow Activity named “Review Page”.

HR_APPROVAL_REQ_FLAG: If yes then AME else not.



hr_transaction_swi.commit_transaction  This API commits transaction


Implement AME in Self Service transaction:

  1. Find the function, where it needs to be enabled. Provide details in Form Fucntion tab.
  2. Make a copy of existing process.
  3. Link new process to new function created in Fucntion Tab.
  4. Enable FLAG : HR_APPROVAL_REQ_FLAG in Review Page.

For check how it is working:

  1. Status Monitor in Workflow Administration.







Difference between Valuesets and Lookups

Difference 1
Value sets can be attached to parameters of a concurrent program or to a DFF segments where as Lookups are attached only to the fields of a Form/Page

Difference 2
Lookups can be maintained by end users where as Value Sets are almost never maintained by end users, with the exception of GL Flexfield codes. Value sets are usually maintained by System Administrators.

Difference 3
Lookups can have translated values in different languages but not the values in the Value Sets

Difference 4
Value sets can contain values that are a result of an SQL Statement. Hence it is possible to make Value Set list of values dynamic.
On the contrary, Lookup Codes are Static list of values which can only be entered through Lookups Form.

Difference 5
We have several different types of value sets but not lookups.