Feb 22, 2018

EBS iRecruitment: How to restrict application search and view for specific responsibility


It’s very common for businesses to show or hide applications for certain responsibilities. This may be due to data security/privacy concerns OR to enable role separations in larger organizations. For example, a typical organizational practice for hiring managers to access qualified applications ONLY and hide dis-qualified/active applications, whereas, recruiters can view and manage all applications. This blog post will discuss how to address such requirements in iRecruitment.

Basics First:
Let's say, a candidate is registered and applied for open vacancies in iRecruitment portal. His/her personal details will be stored on person record of type "Applicant" and assignment is created for tracking application details such as application status - say change from active application to qualified or hire or rejection or work preferences or questionnaire responses. Application details can also be visible in core forms, using person form -> Others button -> Applications.

Seeded assignment statuses may not always be sufficient for organizational needs and new statuses are created using "Assignment Statuses" screen. Multiple user statuses can be mapped to one external or system status. External statuses are visible to applicants, whereas system statuses are used by iRec to enable certain features.

Just for our discussion today, let's assume the following statuses.




 And assume a test applicant, who applied for 3 different vacant positions. One of the applications is qualified, second one is disqualified and third one is still under consideration.



Approach-1: Restriction based on Security Profile

Hiring manager for asset specialist vacancy in the above example, should be able to see the applicant's details/work preferences/questionnaire responses for this vacancy ONLY and don't need to know about the other 2 applications. Security Profile can be used to apply this restriction. This approach will completely hide the application info from vacancy search and view candidate details page (applications sub tab).

  • To activate security profile, the following profile options should be set first.


Profile Option
Value
Level
HR: Enable RTM Security
No
Responsibility
IRC: Show Applications
Restrict On Assignment Security
Responsibility
HR: Security Profile
Select the security profile from the list
Responsibility



  •  Next, navigate to HRMS Manager -> Security -> Profile form and create a new/edit existing security profile as per options shown below. Don't forget to select "Restrict" applicants and check the box that says, "Restrict on Individual Assignments".

  


      ASSIGNMENT.assignment_status_type_id in
          (SELECT irc.assignment_status_type_id
           FROM irc_assignment_statuses  irc,
                per_assignment_status_types past
           WHERE irc.assignment_id = ASSIGNMENT.assignment_id
             AND irc.assignment_status_type_id = past.assignment_status_type_id
             AND UPPER(past.user_status) NOT IN ('ACTIVE APPLICATION', 'APPLICANT NOT QUALIFIED')
             AND assignment_status_id =
                   (SELECT MAX(assignment_status_id)
                    FROM irc_assignment_statuses
                    WHERE assignment_id = irc.assignment_id) )

If the additional clause in "Custom Security" tab is valid, it is automatically incorporated in a SQL select statement that system generates to restrict access to records, based on the restrictions you have set up in the other tabbed regions. The list of employees, contingent workers, and applicants specified by these other restrictions is therefore further restricted by the custom restriction. The clause fits into the system-generated statement in the following way (this statement is not visible on screen):

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 BETWEEN 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}

  • Run the program "Security List Maintenance" for this specific security profile




Security Profile should be activated now. Screenshot of candidate details page before restriction.



Candidate details page after restriction






Approach-2: Restriction by modifying seeded instance set

This method can be used to restrict the view/search on "Applications by Vacancy" page. It won't work for restricting in Candidate Details page.

iRec has a seeded grant that includes object instance set "Instance set to Restrict Applicant Search". This can be changed to add predicate condition using "Functional Developer" -> Security -> Objects and query for "Object to Restrict Applicant Search", go to "Object Instance Sets" sub tab.




(
    (fnd_global.RESP_NAME = 'IRC Hiring Manager'
        AND
     HR_GENERAL.get_user_status(&TABLE_ALIAS.assignment_status_type_id) in ('Applicant Qualified')
    )
    OR
    (fnd_global.RESP_NAME <> 'IRC Hiring Manager'
     AND
    &TABLE_ALIAS.PER_SYSTEM_STATUS in ('ACTIVE_APL','TERM_APL','OFFER','INTERVIEW1','INTERVIEW2','ACCEPTED','ACTIVE_ASSIGN')
    )
)


Note that, this predicate condition applies to all IRC responsibilities, so be sure to write an if-else kind of restriction as shown above. Lastly, assign this grant to the required responsibility/user to activate this restriction.

Do you find this post useful? Comment down below to let me know.

References:
394083.1 - Understanding and Using HRMS Security in Oracle HRMS
1668082.1 - Oracle iRec: Creating Data Filters for Applicant Search based on the Assignment System Status


No comments:

Post a Comment