Depending upon which values we select that particular field will be activated.
Let’s first define a Value Set for selection criteria
Navigate to the following path
System Administrator ApplicationValidationSet

Double click on the set and create a new value set for the selection criteria
Value Set Name- DEMO_SELECTION_CRITERIA
Validation Type -Independent

So once you have specified the size of value set save the changes
Now go back to ApplicationValidationValues

Search for your value set and find it

Once you find the value set add two values to it.
Employee ID and Employee Name

Create a dummy value set for employee id

Create a dummy value set for Employee name

Make sure for the dummy value set you have the validation type set as none.
Now once you have dummy value set ready create two values set for employee id and employee name of table type which will try to fetch the data from the per_all_people_f table.
Create value set for employee name and make it as table type as shown below

In the EDIT INFORMATION section of the above created parameter ‘EMPLOYEE_NAME’ add the logic :$FLEX$. DUMMY_EMPLOYEE_NAME = 'Y'

Test it to validate the query is correct
When I tested I got the below error the reason was that there was a space after :$FLEX$.

Removed the space and retested.

In a similar way now we will create a value set for employee id

In the EDIT INFORMATION section of the above created parameter ‘EMPLOYEE_ID’ add the logic :$FLEX$.DUMMY_EMPLOYEE_ID= 'Y'

Test and save all the changes.
Next is define a concurrent program and use all these value set in there
Go to System AdministratorConcurrentProgramDefine and create a new concurrent program

Define program name, short name and application.
Make sure the Executable in XDODTE and let the other things be the default

Click on parameters and define the value sets you have defined
First is the selection criterion

Next is dummy employee name

Specify Default type as sql statement and select the default value as shown below
SELECT DECODE(:$FLEX$.DEMO_SELECTION_CRITERIA,'Employee Name','Y',NULL) from dual
And make this a hidden parameter. This can be done be deselecting the Display button in the above page.
This Logic will ensure that this dummy parameter will select the value ‘Y’ when the ‘DEMO_SELECTION_CRITERIA’ parameter has a value of ‘Employee Name’. In turn the value of ‘Y’ in this dummy parameter will activate the ‘EMPLOYEE_NAME’ Parameter.
Next add the EMPLOYEE_NAME parameter

We will repeat the same steps for EMPLOYEE_ID we will first add the dummy employee id and then we will add the employee id parameter

Specify Default type as sql statement and select the default value as shown below
SELECT DECODE(:$FLEX$.DEMO_SELECTION_CRITERIA,'Employee ID','Y',NULL) from dual
And make this a hidden parameter. This can be done be deselecting the Display button in the above page.
This Logic will ensure that this dummy parameter will select the value ‘Y’ when the ‘DEMO_SELECTION_CRITERIA’ parameter has a value of ‘Employee ID’. In turn the value of ‘Y’ in this dummy parameter will activate the ‘EMPLOYEE_ID’ Parameter.
NEXT add the EMPLOYEE_ID Parameter.

NEXT IS defining a responsibility to execute this concurrent program.
GO to System administrator responsibility
Go to Security-->Responsibility-->Request
Double click on Request and press ctrl+ f11
This will bring up the following screen
Add a new entry there and select your concurrent program as shown below

Save the changes and switch to Application developer responsibility

Go to ViewRequest

Submit a new request

Select your concurrent program

And a pop up will come up like this

Select From the list of box

Employee Id and you will find that the EMPLOYEE_ID parameter is now activated.

Select Employee Name and you will find that the EMPLOYEE_NAME parameter is activated.

This is how we can dynamically enable and disable parameters in the concurrent program. This is very important when you are creating a report as a lot of requirement comes for enabling and disabling parameters dynamically
No comments:
Post a Comment