The Oracle APEX page URLs are formed in a specific pattern and contain parameters in a predictable order. This guide shows how the URL is constructed and how the parameters can be changed.
Typical APEX URL
A typical URL takes the form :
http://www.examplesite.com/pls/apex/f?p=1:2:3:4:5:6:7:8:9
The parameters contained in the URL are separated by colons.
APEX URL Parameters
The parameters are described below :
1 | Application ID or alias |
2 | Page ID number or page alias |
3 | Session number Can use &SESSION. or :APP_SESSION |
4 | Request (eg PRINT_REPORT=REPORT_1) Can use &REQUEST. or :REQUEST |
5 | Debug (YES, NO) Can use &DEBUG. or :DEBUG |
6 | Cache setting APP – Clear cache for whole application SESSION – Clear cache for current user session RP – Reset pagination RIR – Reset interactive report filters etc CIR – Clear all report settings x – Clear cache for page x y – Clear cache for item y |
7 | Comma separated list of page items |
8 | Comma separated list of values |
9 | Printer friendly mode (YES) |
If a parameter is not specified it can be left blank but the colon either side of it must be included.
So for example here is a URL for application 123, page 20 where the last parameter is set but parameters 3-8 are all blank.
http://www.examplesite.com/pls/apex/f?p=123:20:::::::YES
The Application ID, Page ID and session number can be derived from the built-in substitution strings :APP_ID, :APP_PAGE_ID and :APP_SESSION if required.
In general you will be specifying the first three parameters. Re-using the current session number is desirable if you are linking to pages within the same app.
Parameter 1 is required for the URL to work correctly but all other parameters are optional. If you don’t specify the page ID the user will be directed to the applications default page.
Setting Page Items via the APEX URL
The comma separated parameter list in parameters 7 and 8 can be used to set Interactive Report settings.
Here is an example where two page items (P20_ITEM1 and P20_ITEM2) are set to “Oranges” and “Apples” :
http://www.examplesite.com/pls/apex/f?p=123:20:::::P20_ITEM1,P20_ITEM2:Oranges,Apples
Note that in this example parameters 3-6 have been left bank.
Setting Interactive Report Filters via the APEX URL
The comma separated parameter list in parameters 7 and 8 can be used to set Interactive Report settings.
Specify a list of columns in parameter 7 using IR<operator>_<column_name> where the <operator> is one of :
EQ,LT,GT,LTE,GTE,NEQ,LIKE,N,NN,C,NC
This can be omitted if you want to use EQ as this is the default.
To set a Rowfilter use IR_ROWFILTER as the parameter name.
The settings target the default public report on the target page. If you want to set filters for any other public report you must use IR_REPORT_<alias> as the Request value (parameter 4).
Here is an example where two Interactive Report filters are set on page 20 :
http://www.examplesite.com/pls/apex/f?p=123:20:::::IR_COUNTRY,IRLT_RAINFALL:England,200
The report should show a report where the COUNTRY column is EQual to “London” and the RAINFALL column is LessThan “200”.
It is often useful to set the cache (parameter 6) to “RIR” which would clear any previous filters the user may have set on that report. For example:
http://www.examplesite.com/pls/apex/f?p=123:20::::RIR:IR_COUNTRY,IRLT_RAINFALL:England,200
Manipulating the URL is a really useful tool when developing more advanced APEX applications.