0% found this document useful (0 votes)
3K views5 pages

Special Value Set in Oracle Apps

Value set is a very common item in oracle apps. one type of value set is discussed in this document.

Uploaded by

Saquib Mahmood
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3K views5 pages

Special Value Set in Oracle Apps

Value set is a very common item in oracle apps. one type of value set is discussed in this document.

Uploaded by

Saquib Mahmood
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 5

Value Set ---> Special Value Set in Oracle Apps

Special value set configuration and uses.


I have observed that many times we need to restrict users to a limited, conditional value entries
either in DFF or when SUBMITTING concurrent request. Normally we can use dependent value
set, but when dynamic or some specific check is required, then special value set is better and
only choice. Below I have described all the steps for configuring value set. Assign this value set to
DFF or concurrent req. parameter as required.
1. Go to Application Developer --> Application --> Validation --> Set.
2. Create a new value set -ENTER value set name, description, List type = List of values.
3. Select Validation Type = Special from left bottom of the screen.
4. Click on Edit information.
5. Select Event = Validate.
6. Now in function, you can write pl/sql code or call any function from database.
7. The logic of validation will be as per requirement.
8. The code syntax will be FND PLSQL " entire function "
9. To read the value which user hasENTERED in DFF or as conc. request paremeter, use
lc_in := :!value;
10. To raise error if theENTER value is not correct, use fnd_message.raise_error;
11. Use Application message. Display appropiate message.
12. Raising error makes sure that user cannotCONTINUE with the invalid value and he will be
fored to corret entry.
13. The character size is limited, but by calling database function, one can put complex validation.
-- Below is the code to validate that user can select a date which is 3 months before sysdate. This
is a parementer in report in which user should be allowed to see data for 3 months or before, but
he cannot see recent quater data.
FND PLSQL "declare
l_value varchar2( 20 ) := :!value ;
l_valid NUMBER := 0 ;
BEGIN
SELECT (sysdate - to_date(l_value,'dd-mon-yyyy'))
INTO
l_valid
FROM dual;
IF (l_valid <= 91) THEN
fnd_message.set_name( 'FND', 'FND_GENERIC_MESSAGE' ) ;
fnd_message.set_token( 'MESSAGE', 'Date must be atleast 3 calendar months prior to current
ate' );
fnd_message.raise_error ;
END IF ;
END;
"
Other Example:

Special Value Sets in Oracle Applications


Here I am going to explain SPECIAL Value Sets in Oracle Applications.I have a requirement in which I
want to execute a BIP report with some parameters.

The first parameter Current Month should allow only MON-YYYY format.Schedule Start
Date and Schedule End Dateshould be with in first parameter month.
Approach 1
If the report is through PL/SQL StoredPROCEDURE
backend.

executable the we can do all the validation in

Approach 2
Second approach is through SPECIAL Value Sets.This value set has events
like Edit,Load and Validate.We can attach PL/SQL code snippet to each event.Here I am going to attach
validation routine to Validate event to validate the user input.Validate event fires when the focus leaves from
the item.
Here I am going to create twoSPECIAL
third parameter).

value sets ( one for first parameter and another for the second and

Value Set 1
Name : XXCUST_CURRENT_MONTH
List Type : List of Values
Format Type : Char
Maximum Size : 8
Validation Type :SPECIAL
Event : Validate
Function : XXCUST_CURRENT_MONTH_VALIDATE_ROUTINE
Value Set 2
Name : XXCUST_DATES
List Type : List of Values
Format Type : Standard Date
Validation Type : Special
Event : Validate
Function : XXCUST_DATES_VALIDATE_ROUTINE
Note: Inside the validate routine I am using FND messages.Generate message file also using "FNDMDGEN
apps/password 0 Y US XXCUST DB_TO_RUNTIME".

Attach XXCUST_CURRENT_MONTH to first parameter.Also XXCUST_DATES to second and third


parameter.
Note: Since the program is using Special Value Sets it can beSUBMIT only through Oracle
Forms.Submission through OA Framework and PL/SQL APIs are not recommended.
Output
Give Current Date as 01-2012

Give Schedule Start Date out of current month.


------------------------------------Tips:
Every time you change an existing message or create a new message, you will have to follow the below
steps:

1.
Create/Update message
2.
Run the command on middle tier: FNDMDGEN apps/<passwd> 0 Y
<LANGUAGE> SCHED DB_TO_RUNTIME
3.
Exit from the Oracle application andLOGIN back.

You might also like