Total Pageviews

January 7, 2016

1/07/2016 11:42:00 AM
Usage of $FLEX$
$FLEX$ is a special bind variable that can be used to base a parameter value on the other parameters (dependent parameters)
Syntax  --     :$FLEX$.Value_ Set_Name
Value_Set_Name is the name of value set for a prior parameter in the same parameter window that you want your parameter to depend on.
Some scenarios where :$FLEX$. can be used:
Say you have a concurrent program with the below 2 parameters which are value sets :
Parameter1 is Vendor Name
Parameter2 is Purchase Order Numbers(PO Numbers)
Let's say there are  Vendors and each vendor  has number of Purchase Orders.
If we  display all Vendors in the valueset of parameter1 and all PO's in parameter2  value set  then it might kill lot of performance and also it will be hard for a user to select an PO's from the huge list.
Better Solution is to let user select the Vendor from the Vendor Valuset first. Based on the Vendor selected, you can display only the Purchase orders in parameter2 that belong to the selected Vendor in parameter1 valueset.
Say you have a concurrent program with the below 2 parameters:
parameter1: directory path
parameter2: filename
Parameter1 and parameter2 are dependent on each other. If the user doesn’t enter  directory path, there is no point in enabling the parameter2  i.e filename. In such a case, parameter should be disabled.This can be achieved using $FLEX$.
Working Example of how to use $FLEX$:
Let’s take the standard concurrent program  “AP Withholding Tax Extract” to explain how to use :$FLEX$..
This program has 7 parameters  like “Date From”, “Date To”, “Supplier From”, “Supplier To” etc
The requirement is to add an additional parameter called “File Name”  where the user will give a name to the flat file where the tax extract will be written to, as a parameter. Instead of typing in the name of the file everytime you run the program, the file name should  be defaulted with the value that the user provides for the parameter “Date From” plus  “.csv” which is the file extension. Let us now see how this can be achieved using :$FLEX$.
Application Developer responsibility > Concurrent > Program
Query up the Concurrent

Click “Parameters” Button

Add the parameter “File 
Seq: 80 (Something that is not already assigned to other parameters. It’s always better to enter sequences in multiple of 5 or 10. So that you can insert any additional parameters if you want later in middle) 
Parameter: ‘File Name’ 
Description: ‘File Name’ 
Value set: ‘240 Characters’ 
Prompt: File Name 
Default Type:  SQL Statement 
Default Value:  Select :$FLEX$.FND_STANDARD_DATE||'.csv'  from dual 
Here FND_STANDARD_DATE is the value set name of the parameter “Date From” as seen in the above screenshot. 

$FLEX$.FND_STANDARD_DATE gets the value that the user enters for the parameter “Date From”

 “select :$FLEX$.FND_STANDARD_DATE||'.csv'  from dual” returns “Date From” parameter value appended with ‘.csv’


Save your work.
Now go to the respective responsibility and run the concurrent program.
When you enter the value of “Date From” and hit tab, File Name parameter will automatically be populated as shown in the below screenshot.

Related Posts Plugin for WordPress, Blogger...