Wednesday 31 May 2017

Oracle HRMS Interview Questions

Q. How do you Debug a Fast Formula?

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).
visit Here for more questions

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

Use Fast Formula.

Q. What is the difference between per_people_f and per_all_people_f

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

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

Responsibility level. Responsibility level will override FUNCTION level personalizations.

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?

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.

Q. What are the minimum classifications to create a Business Group?

  • Business Group
  • GRE/legal Entity
  • HR Organization

Q. What are the pre-requisites for creating a Business group?

  • Value sets
  • Key flex fields
  • Location

Q. What is the use of HR organization?

If we want to assign the employee information to a Business Group then we need to have HR organization classification under a business group

Q. What is people group?

  • It is a flexible area for holding user defined assignment data
  • Data can be used for grouping sets of assignment together
  • People group can be used for element eligibility
  • This information is used by the payroll run
  • The data will be held in PAY_PEOPLE_GROUPS.
  • Group_name field holds the concatenation of segment data.

Q. What is kff structure for SIT?

Personnel analysis flexfields

Q. What is the DFF structure for EIT?

  • Extra person information
  • Assignment extra information
  • Extra location information
  • Extra position information
  • Extra job informantion
  • Organization developer DF

Q. How to enable EIT?

  • Switch responsibility to human resources, vision enterprises
  • Double click on security
  • Click on information types
  • Create your own information types under your responsibility name

Q. How to enable SIT?

  • Switch responsibility to human resources vision enterprises
  • Double click other definitions
  • Click on special information types

Q. What is the Data Track?

  • It is used to maintain record history by creating a new record when the date track mode is UPDATE and override on the existing record when the Data track mode is CORRECTION.
  • The value of the Data track record depends on the date
  • Tables ending with _F are date track tables
  • To control data tracked rows, every Date Track table must include Effective start date and Effective end date.
  • The effective start date indicates when the record inserted
  • The effective end date indicates when the record updated or deleted.

Q. Important Tables in HRMS?

  • per_all_people_f  : This table will provide us the very basic information about the employee. The very data from the first screen we see when we open the ‘People -> Enter and Maintain’ form goes into this table.
  • per_all_assignments_f  : This table will store all the information which is been entered in the employee assignment form.
  • per_addresses  :  This table will store all the information which is been entered in the employee address form.
  • per_pay_proposals   :  This table will store all the information which is been entered in the employee salary form.
  • per_person_types_tl   :  This table is used to find the type of the employee. This table is linked with the per_all_people_f with the person_type_id to find out the type of person.
  • per_jobs_tl  :  This table will contain the various types of JOBS in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct job name from the employee.
  • per_grades_tl  :  This table will contain the various types of GRADES in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct grade name from the employee.
  • hr_locations_all  :  This table will contain the various LOCATIONS in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct location name from the employee.
  • pay_all_payrolls_f  :  This table will contain the various types of PAYROLLS in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct payroll name from the employee.
  • per_pay_bases  :  This table will contain the various types of PAY BASES in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct pay basis name from the employee.
  • per_assignment_status_types_tl  :  This table will contain the various types of assignment types in oracle. The assignment types generally would be ‘Active Assignment’ etc.. This table is been linked with the per_all_assignments_f table to retrieve the correct job name from the employee.
  • per_person_type_usages_f  :  This table will store the correct person type of the particluar employee. We should never depend on the person type present in the per_all_people_f table. Instead we need to link the person_id with this table and get the correct person type.

Q. Key Flexfields (KFFs) in HRMS?

=>Job KFF, =>Grade KFF, =>People Group KFF, =>Position KFF, => Cost Allocation KFF, => Competence KFF

Q. What are Date Track Tables?

Every update in the Table, we will save the change in the form of a Record to provide the facility to find the information at any point of time.
These tables are post fixed by _F

Q. What are secured Views?

The Views which do not have the _all to be said as secured views.
Per_all_people_F
per_people_f
per_all_assignemtns_f
per_assignments_f
pay_all_payrolls_F
per_payrolls_f

Q. The difference between both secured views and non secured views is :

  • Secured views display information only for the current period
  • Unsecured views is used to get the information from the entire rows

Q. APIs in HRMS?

API are used in HR to insert the data into the Base tables. As its very secured system, the user does nothave the facility to copy the data directly into the Base tables.When we write the inbound interfaces / use WebAdI, the systems will use the APIs to store the data into system.The API are published by oracle with number of parameters.The different types of parameters are IN / INOUT / OUT.Of these parameters few are mandatory, with out which the process wont complete.Generally when we use API we give data for : Object Version Number, Effective Date, P_Validate
HR_EMOYEE_api ex: hr_employee_api.create_employee
hr_PERSON_api
hr_organization_api Ex: hr_organization_api.create_organization
hr_applicant_apI
hr_assignment_api

Q. What are the reports which you have done in HR?

HR PAYROLL COSTING :
This report is used to display the information about the employees, the assignements which were given to the employees along with the payroll details including the Hours Paid, Salary, NI, Pension, Car Allowances and Other Allowances.

Q. Understanding the p_datetrack_update_mode Control Parameter in HRMS API

The p_datetract_update_mode control parameter enables you to define the type of DateTrack change to be made. This mandatory parameter must be set to one of the values as mentioned below:
UPDATE – Keep history of existing information
CORRECTION – Correct existing information
UPDATE_OVERRIDE – Replace all scheduled changes
UPDATE_CHANGE_INSERT – Insert this change before next scheduled change

Q. Understanding the p_datetrack_delete_mode Control Parameter

The p_datetract_update_mode control parameter enables you to define the type of DateTrack deletion to be made. This mandatory parameter must be set to one of the following values:
ZAP – Completely remove from the database
DELETE – Set end date to effective date
FUTURE_CHANGE – Remove all scheduled changes
DELETE_NEXT_CHANGE – Remove next change

Q. How will you migrate Oracle General Ledger Currencies and Sets of Books Definitions fromone environment to another without reKeying? Will you use FNDLOAD?

FNDLOAD can not be used in the scenario. You can use migrator available in “Oracle iSetup” Responsibility

Q. This is a very tough one, almost impossible to answer, but yet I will ask. Which Form in Oracle Applications has most number of Form Functions?

“Run Reports”. And why not, the Form Function for this screen has a parameter to which we pass name of the “Request Group”, hence securing the list of Concurrent Programs that are visible in “Run Request” Form. Just so that you know, there are over 600 form functions for “Run Reports”

Q. Which responsibility do you need to extract Self Service Personalizations?

Functional Administrator

Q. Can you list any one single limitation of Forms Personalization feature that was delivered with 11.5.10

You can not implement interactive messages, i.e. a message will give multiple options for Response. The best you can get from Forms Personalization to do is popup up Message with OK option.

Q. You have just created two concurrent programs namely “XX PO Prog1” & “XX PO Prog2”. Now you wish to create a menu for Concurrent Request submission such that only these two Concurrent Programs are visible from that Run Request menu. Please explain the steps to implement this?

  1. a) Define a request group, lets say with name “XX_PO_PROGS”
  2. b) Add these two concurrent programs to the request group “XX_PO_PROGS”
  3. c) Define a new Form Function that is attached to Form “Run Reports”
  4. d) In the parameter field of Form Function screen, enter
REQUEST_GROUP_CODE=”XX_PO_PROGS” REQUEST_GROUP_APPL_SHORT_NAME=”XXPO” TITLE=”XXPO:XX_PO_PROGS”
  1. e) Attach this form function to the desired menu.

Q. Does Oracle 10g support rule based optimization?

The official stance is that RBO is no longer supported by 10g.

Q. Does oracle support partitioning of tables in Oracle Apps?

Yes, Oracle does support partitioning of tables in Oracle Applications. There are several implementations that partition on GL_BALANCES. However your client must buy licenses to if they desire to partition tables. To avoid the cost of licensing you may suggest the clients may decide to permanently close their older GL Periods, such that historical records can be archived.
Note: Before running the archival process the second time, you must clear down the archive table GL_ARCHIVE_BALANCES (don’t forget to export archive data to a tape).

Q. What will be your partitioning strategy on GL_BALANCES? Your views please?

This really depends upon how many periods are regularly reported upon, how many periods are left open etc. You can then decide to partition on period_name, or period ranges, or on the status of the GL Period.

Q. Does Oracle support running of gather stats on SYS schema in Oracle Apps?

If your Oracle Applications instance is on 10g, then you can decide to run stats for SYS schema.  This can be done by  exec dbms_stats.gather_schema_stats(‘SYS’);
Alternately using command dbms_stats.gather_schema_stats(‘SYS’,cascade=>TRUE,degree=>20);
I will prefer the former with default values.
If you wish to delete the stats for SYS use exec dbms_stats.delete_schema_stats(‘SYS’);
You can schedule a dbms_job for running stats for SYS schema.

Q. Can you use concurrent program “Gather Schema Statistics” to gather stats on sys schema in oracle apps?

No, “Gather Schema Statistics” has no parameters for SYS schema.  Please use dbms_job.

Q. Which table is used to provide drill down from Oracle GL into sub-ledger?

GL_IMPORT_REFERENCES

Q. What is the significance of profile option “Node Trust Level” in Oracle Apps.

If this profile option is set to a value of external against a server, then it signifies that the specific mid-tier is External i.e. it will be exposed to the www. In other words this server is not within the firewall of your client. The idea behind this profile option is to flag such middle-tier so that special restrictions can be applied against its security, which means a very restricted set of responsibilities will be available from such Middle-Tier.

Q. What is the significance of profile option “Responsibility Trust Level”.

In order to make a responsibility accessible from an external web tier, you must set profile option “Responsibility Trust Level” at responsibility level to “External”. Only those responsibilities that have this profile option against them will be accessible from External Middle tiers.

Q. What else can you suggest to restrict the access to screens from external web tiers?

You may use URL filtering within Apache.

Q. What is the role of Document Manager in Oracle Purchasing?

POXCON is an immediate concurrent program. It receives pipe signal from the application when a request is made for approval/reservations/receipts.

Q. How to debug a document manager in Oracle Apps?

Document manger runs within the concurrent manager in Oracle Applications.  When an application uses a Document Manager, it sends a pipe signal which is picked up by the document manager.
There are two mechanisms by which to trace the document manager
  1. Set the debugging on by using profile option
STEP 1. Set profile option “Concurrent:Debug Flags” to TCTM1
This profile should only generate debugs when set at Site level(I think, as I have only tried site), because Document Manager runs in a different session.
STEP 2. Bounce the Document Managers
STEP 3. Retry the Workflow to generate debugs.
STEP 4. Reset profile option “Concurrent:Debug Flags” to blank
STEP 5. have a look at debug information in table fnd_concurrent_debug_info
  1. Enable tracing for the document managers
This can be done by setting profile option “Initialization SQL Statement – Custom” against your username before reproducing the issue. The value of this profile will be set so as to enable trace using event 10046, level 12.

Q. You have written a Java Concurrent Program in Oracle Apps. You want to modify the CLASSPATH such that new class CLASSPATH is effective just for this program.

In the options field of the concurrent program you can enter something similar to below.
-cp <your custom lib pathused by Java Conc Prog> :/home/xxvisiondev/XXDEVDB/comn/java/appsborg. zip:/home/xxvisiondev/XXDEVDB/comn/java

Q. How will you open a bc4j package in jdeveloper?

Oracle ships a file named server.xml with each bc4j package. You will need to ftp that file alongside other bc4j objects(VO’s, EO’s, AM, Classes etc).
Opening the server.xml will load the complete package starting from AM(application module). This is a mandatory step when building Extensions to framework.

Q. In OA Framework Self-Service screen, you wish to disable a tab. How will you do it?

Generally speaking, the tabs on a OA Framework page are nothing but the SubMenus. By entering menu exclusion against the responsibility, you can remove the tab from self service page.
In self service, you wish to change the background color and the foreground text of the OA

Q. Framework screens to meet your corporate standards. How will you do it?

You will need to do the below steps
  • Go to Mid Tier, and open $OA_HTML/cabo/styles/custom.xss
  • Enter below text( change colours as needed)
<style name=”DarkBackground”>
<property name=”background-color”>#000066</property>
</style>
<style name=”TextForeground”>
<property name=”color”>#0000FF</property>
</style>
  • cd $OA_HTML/cabo/styles/cache
  • Take a backup of all the css files.
  • Delete all the files of following pattern oracle-desktop*.css
The idea here is to delete the cache. Next time when you logon to Oracle Apps Self Service, the Framework will rebuild the css file if found missing for your browser.

Q. Can you extend and substitue a root AM ( Application Module) in OA Framework using JDeveloper?

You can extend the AM in jDeveloper, but it doesn’t work( at least it didn’t work in 11.5.9). I am hopeful that Oracle will deliver a solution to this in the future.

Q. In a workflow notification, you have a free text response field where the user enters the Vendor Number for the new vendor. You want to validate the value entered in the notification response field upon the submission of a response. How will you do it?

You will need to attach a post notification function to the Workflow Notification.
The PL/SQL code will look similar to below:-
The below code will display an error in the notification when user attempts to create a Duplicate Vendor Number.
PROCEDURE validate_response_from_notif
(
itemtype IN VARCHAR2
,itemkey  IN VARCHAR2
,actid IN NUMBER
,funcmode IN VARCHAR2
,RESULT   IN OUT VARCHAR2
) IS
l_nid                   NUMBER;
l_activity_result_code VARCHAR2(200);
v_newly_entered_vendor_num VARCHAR2(50);
CURSOR c_get_response_for_new_vendor IS
SELECT wl.lookup_code
FROM   wf_notification_attributes wna
,wf_notifications        wn
,wf_message_attributes_vl   wma
,wf_lookups              wl
WHERE  wna.notification_id = l_nid
AND wna.notification_id = wn.notification_id
AND wn.message_name = wma.message_name
AND wn.message_type = wma.message_type
AND wna.NAME = wma.NAME
AND wma.SUBTYPE = ‘RESPOND’
AND wma.format = wl.lookup_type
AND wna.text_value = wl.lookup_code
AND wma.TYPE = ‘LOOKUP’
AND decode(wma.NAME, ‘RESULT’, ‘RESULT’, ‘NORESULT’) = ‘RESULT’;
BEGIN
IF (funcmode IN (‘RESPOND’))
THEN
l_nid := wf_engine.context_nid;
OPEN c_get_response_for_new_vendor;
FETCH c_get_response_for_new_vendor
INTO l_activity_result_code;
CLOSE c_get_response_for_new_vendor;
v_newly_entered_vendor_num := wf_notification.getattrtext(l_nid,’NEWLY_ENTERED_VENDOR_NUM_4_PO’);
IF l_activity_result_code = ‘NEW_VENDOR’
AND does_vendor_exist(p_vendor => v_newly_entered_vendor_num)
THEN
RESULT := ‘ERROR: VendorNumber you entered already exists’;
RETURN;
END IF;
END IF;
EXCEPTION
WHEN OTHERS THEN
RESULT := SQLERRM;
END validate_response_from_notif;

Q. How to make concurrent program end with warning?

If the concurrent program is of type PL/SQL, you can assign a value of 1 to the “retcode” OUT Parameter.
For a Java Concurrent program, use the code similar to below
ReqCompletion lRC;
//get handle on request completion object for reporting status
lRC = pCpContext.getReqCompletion();
lRC.setCompletion(ReqCompletion.WARNING, “WARNING”);

Q. How do you link a Host type concurrent program to Concurrent Manager?

Assuming your executable script is LOADPO.prog, then use the commands below
cd $XXPO_TOP/bin
ln -s $FND_TOP/bin/fndcpesr $XXPO_TOP/bin/LOADPO

Q. How do you know if a specific Oracle patch has been applied in apps to your environment?

Use table ad_bugs, in which column bug_number is the patch number.
SELECT bug_number
,to_char(creation_date, ‘DD-MON-YYYY HH24:MI:SS’) dated
FROM   apps.ad_bugs
WHERE  bug_number = TRIM(‘&bug_number’) ;

Q. How do you send a particular Oracle Apps Workflow Activity/Function within a workflow process into background mode?

If cost of the workflow activity is greater than 50, then the workflow activity will be processed in background mode only, and it won’t be processed in online mode.

Q. What are the various ways to kick-off a workflow

You can eiter use wf_engine.start_process or you can attach a runnable process such ghat it subscribes to a workflow event.
When starting (kicking off) an oracle workflow process, how do you ensure that it happens in a background mode?
–a) if initiating the process using start_process, do the below
wf_engine.threshold := -1;
wf_engine.createprocess(l_itemtype
,l_itemkey
,'<YOUR PROCESS NAME>’);
wf_engine.startprocess(l_itemtype, l_itemkey)
–b) When initiating the workflow process through an event subscription, set the Execution Condition Phase to be equal to or above 100 for it to be executed by background process.

Q. On 10g, how will you use awr?

By running below scripts. These are both the same scripts, but with differing parameters.
$ORACLE_HOME/rdbms/admin/awrrpt.sql
$ORACLE_HOME/rdbms/admin/awrrpti.sql


No comments:

Post a Comment