Tuesday, 31 March 2009

Security Profiles in Oracle HRMS

While browsing through the Oracle HRMS forum, I found a thread on Security Profile.

http://forums.oracle.com/forums/thread.jspa?threadID=872047&tstart=0

It is a very basic requirement in any Oracle HRMS implementation. The confusion was on using the static version versus the dynamic in custom security TAB.

And here is the difference -

Static version - Restrict the people visible to this profile

1.The records are created by the Security List Maintenance program in the table per_person_list
2. Includes person types like Contact and External.
3.Includes ex-employees.

Dynamic Version- Restrict the people visible to each other using this profile

1.No record in per_person_list
2.Does not show person types of Contacts, External etc.
3.Does not include ex-employees.
(A new profile in R12.1 - HR: Ex-Employee Security Profile overcomes this limitation)

And why does ex-employees not appear in the Dynamic Version ?

Its because of this query which is used along with the custom where clause in custom security TAB.

select 1
from per_all_assignments_f ASSIGNMENT,
per_all_people_f PERSON,
per_person_type_usages_f PERSON_TYPE
where ASSIGNMENT.assignment_id=:asg_id
and:effective_date betweeen ASSIGNMENT.effective_start_date
and ASSIGNMENT.effective_end_date
and PERSON.person_id=ASSIGNMENT.person_id
and :effective_date between PERSON.effective_start_date
and PERSON.effective_end_date
and PERSON.person_id=PERSON_TYPE.person.id
and :effective_date between PERSON_TYPE.effective_start_date
and PERSON_TYPE.effective_end_date
and {your custom where clause fragment goes here}


Ex-employees who have Final Process Date filled in will not have any assignment and hence these records will not be visible !!

Lets wait for the HR: Ex-Employee Security Profile profile in R12.1.