Using: Oracle ApEx 3.0.1
I have a SQL report region that contains a hidden page item as part of the “where clause”. My problem is, based on a value entered by the user, I need to assign this value entered to my hidden item, so that it can be used within the where condition of my SQL but this would need to be done without actually submitting the form.
At the moment, I can set the value via an on-demand process but my SQL is still not returning any values as the hidden page item within the query is not set (as page has not been submitted).
I am not sure how to do this and whether in actual fact, this is possible to do, without having submitted the page.
Since you are on Apex 3, you don’t have dynamic actions, but that doesn’t hinder so much.
I’ve set up an example on apex.oracle.com. To get in the workspace, use workspace ‘tompetrusbe’ + apex_demo / demo.
There is a dynamic action there, which can do the work too, but i’ve disabled it.
What you need to make it work:
an ajax callback process, with the following line:
Give your report region a static id, i called mine ‘report_emp’. This so i can easily retrieve it.
In the javascript region of the page, you then need to call the app process, and then refresh the region. Also bind the event which needs to trigger this action. I’ve done it here through the onchange event of the parameter textfield.
In the query of the report i use
where ename like '%'||UPPER(:P2_PAR_ENAME)||'%'.When you type (for example) ‘bl’ in, and tab out (to trigger the onchange), the region will refresh and will be filtered.
You’ll just need to adapt to your solution 🙂