24 July 2007

Basic Concepts on Oracle HRMS SSHR - Tutorial

SSHR Rollout Create FND_USER and Allocate Responsibilities

Every organization that rolls out any Oracle Self Service Application requires a methodology to allocate responsibilities and to create Users.

The pseudo code example taken here has following requirements:-

1. Create a concurrent program, passing to parameter for one Cost Centre/Group or all Cost Centres.

This way, Self Service can be rolled out in Phased manner.

2. Besides a parameter for the cost centre, there will be another parameter to run the process in a Read-Only mode.

3. There are two possibilities for the Employees which are eligible(given their cost centre).

Possibility a. The employee already has an existing FND_USER record

Possibility b. The employee does not have an existing FND_USER record.



Solution for Possibility a.

Identify the FND_USER record, using the fnd_user.employee_id = per_all_people_f.person_id

Use fnd_user_resp_groups_api.insert_assignment to add new Self Service responsibility to that User.

Send the user an Email giving them details of the responsibility that has been added.



Solution for Possibility b.

Create an FND_USER record, using the fnd_user_pkg, attaching this to Person Id.

Use fnd_user_resp_groups_api.insert_assignment to add new Self Service responsibility to that User.

Send them an email to inform the User-Id and Password along with instructions to log on & use the application.





Questions & Answers

How do I create a 8 digit password for FND_USER record?

FUNCTION get_random_password RETURN VARCHAR2 IS

BEGIN

RETURN lower(dbms_random.STRING('X',8));

END get_random_password;



We want users to be enforced to alter their password every 6months, how to ?

Use parameter x_password_lifespan_days

fnd_user_pkg.createuser

(

x_user_name => p_user_name

,x_owner => ''

,x_unencrypted_password => v_password

,x_description => p_person_description

,x_password_lifespan_days => 180

,x_employee_id => p_person_id

,x_email_address => p_email_address

);





The random password that is generated might have repeating characters, which will error if Profile "Signon Password Hard To Guess" is Set to Yes?

You can temporarily set the profile to N in the session during which concurrent program runs.

fnd_profile.put(NAME => 'SIGNON_PASSWORD_HARD_TO_GUESS' ,val => 'N');





Should I use Workflow to inform users?

You might as well use SMTP. Be careful that on Dev environment business users do not receive Emails.

This can be ensured by checking return of select instance_name from v$instance to be PRD Database.

You can use procedure send_html_email in the Code Sample in link provided in the article.





Can I run the source code as is?

The source code provided is for allocating a responsibility named "XX HR Employee Self Service".I have removed all the client specific bits from the code. Hence you will need to alter to make this to be of any use. The idea is to merely provide you a guideline for API Usage.





Scripts

Link for script to create temp audit table and views

http://scripts4oracle.blogspot.com/2006/12/sshr-rollout-script-1-to-create-users.html





Package Header for Script

http://scripts4oracle.blogspot.com/2006/12/self-service-hr-rollout-script-2-to.html





Main code with Package Body Link to the script

http://scripts4oracle.blogspot.com/2006/12/self-service-hr-script-3-to-allocate.html















Oracle HRMS Payroll Interview Questions

Dear Learners and Job hunters for Oracle HRMS and Payroll. Please find some basic level questions that you

might be asked in an Interview.



Qns 1. Can you call pl/sql package functions from within a Fast Formula?

Ans 1. Yes you can

-->How do we do this?

-->There is a Define Function screen in HR. In this screen you will register the pl/sql as “External Function”.



-->If we want to pass a parameter PAYROLL_ID to this external pl/sql Function, how do we do it ?

-->The “Define Function” screen has a button named “Context Usage”. This button opens up a window in which you can

register the parameters.





Qns 2: P35 report is run after the “End Of Year (EOY)” process.

Do you know which tables does EOY process populate.

P35 and P60 reports uses these tables which get populated by EOY

Ans2: FF_ARCHIVE_ITEMS

FF_ARCHIVE_ITEM_CONTEXTS



Qns 3: How do you Debug a Fast Formula?

Ans 3: You can create a message variable in Fast Formula.

This message variable must also be registered as a Formula Result( In “Formula Result Rule” window).





Qns 4: What are the various levels where you can Set up Payroll Costing Accounts?

Which levels take the highest precedence? **Assume Labor Distributions is not implemented**

Ans4;

Element Entry => Highest

Assignment => Second Highest

Organization => Third Highest

Element Link => Fourth Highest

Payroll => Fifth Highest





Qns5: Technically speaking, how do you know from tables that an Employee has been terminated?

Ans 5:

(a) The Person_Type_ID in PER_PERSON_TYPE_USAGES_F will correspond to System Person Type EX_EMP

(b) A record gets created in table PER_PERIODS_OF_SERVICE with Actual_Termination_date being not null



Qns6: How can you make Employee Number generation Automated based on business rule etc.

Ans6: Use Fast Formula.



Qns7: What is the difference between per_people_f and per_all_people_f

Ans7: PER_PEOPLE_F is a secured view on top of PER_ALL_PEOPLE_F. The secure view uses an API hr_security.show_person.

This API internally checks for an entry in table PER_PERSON_LIST for the logged in person's security profile. A concurrent

program named "Security List Maintainence program" will insert records in PER_PERSON_LIST







Oracle HRMS Self Service Interview Some Simple Questions

Qns 1
:

If you do personalization at both FUNCTION level and Responsibility level, which personalization has higher precedence?

Ans 1:

Responsibility level. Responsibility level will override FUNCTION level personalizations.



Qns 2:

Say you have done a lot of Personalizations to Self Service Screens.

But all these Personalizations were done in DEVELOPMENT environment.

How will you migrate these personalizations to PRODUCTION environment?

Ans2:

Before 11.5.7…Use AKLoad

This is a java program given by Oracle. This is the only way you can script it.

In DEV you will do è akdload DOWNLOAD ( & other parameters)

In PRD you will do è akdload UPLOAD ( & other parameters)

On or after 11.5.10 Use responsibility “Functional Administrator”, then click

on Personalization Tab, and then click on Import/Export.

Next select the documents to be exported.

Go to the unix box and tar the personalizations into a .tar file.

On the Production environment unzip this tar file in location as entered in profile “FND: Personalization Document Root Path”.

Setting up of this profile is mandatory or else Oracle Framework would’nt know where to search for the files to be imported.













Related Articles to Read




Post a Comment

 

© 2008 About Oracle Apps - A Complete Guide to Oracle Applications Professionals. | Contact|About us.

All articles are copyrighted to About Oracle Apps.