Lookup Types and Lookup codes in Oracle Apps

Question : What is a lookup in Oracle Apps
Answer: It is a set of codes and their meanings.

Question: Any examples?
Answer: The simplest example is say a lookup type of Gender.
This will have definitions as below
Code    Meaning
------        -------------
M            Male
F             Female
U            Unknown

Question: But where is it used, any examples of its usages?
Answer: Let us say that there is a table for employees, and this table named PER_PEOPLE_F & has following columns

Question: Will the gender column in above table hold the value of M or F or U?
Answer: Correct, and the screen that displays people details will in reality display the meaning of those respective codes (i.e. Male, Female, Unknown etc) instead of displaying the code of M or F or U

Question: hmmm...so are lookups used to save the bytes space on database machine?
Answer: Noooo. Imagine a situation as below
a. There are 30,000 records in people table of which 2000 records have gender value = U. In the screen, their Gender is being displayed as "Unknown". Now let’s say you want this to be changed to "Undisclosed". To implement this change, all you have to do is to change the meaning of the lookup codes for lookup type GENDER. Hence it will look like
Code    Meaning
------    -------------
M         Male
F          Female
U         Undisclosed 

Here lies the beauty of lookups, you do not need to modify 2000 odd records in this case.

Question : Any other usage of lookups?
Answer : Sure, lets take another example. In HRMS, there is a field named Ethnicity. By default Oracle ERO delivers the below values
Lookup code        lookup meaning
----------------        ---------------------
AS            Asian
EU            European

Now, if your client wants to track Ethnicity at a granular level, they can amend the Oracle delivered lookup definition as below

Lookup code        lookup meaning
----------------        ---------------------
ASI            Asian-Indian
ASP            Asian-Pakistani
EU            European

Hence these values will then be available in the list of values for Ethnicity field.

Question: Are we saying that all the lookups delivered by oracle can be modified?
Answer: Depends. If oracle has a lookup called termination status, and if based on the termination status code Oracle has some rules defined within Payroll Engine....!! Surely Oracle  Payroll Engine will not like it if you end date an existing status code or add a new status code to termination. For this very reason, Oracle flags some lookups as System lookups, and the lookup entry screen will not let you modify those lookup codes.

Question: OK, what if I do not wish to modify existing Lookup codes, but only wish to add new Lookup codes to an existing Oracle delivered Lookup Type?
Answer: You can do so, provided the Oracle delivered Lookup Type is flagged as Extensible. Please see the screenshot

Question: Can we add our own new lookup types?
Answer: Yes you can, for this you will first define a lookup type and will then define a set of lookup codes against the Lookup Type. In our example above, GENDER is the LOOKUP_TYPE

Question: Does a LOOKUP_TYPE get attached to a Descriptive Flexfield…just like Value Sets?
Answer: Not really. There is no direct relation between lookup and Descriptive Flexfield. 

Now, the screenshots. Click on the menu as below to invoke Lookup Screen.

Once in the screen, you can define your lookup type and lookup codes as below.