||Oracle Database Tips by Donald Burleson
The APEX HTMLDB_APPLICATION
The HTMLDB_APPLICATION package exposes several
global variables used internally by the APEX engine.
g_user: This is the ID of the currently logged
g_flow_id: This is the ID of the currently
This is the page ID for the currently running application page.
g_flow_owner: This is the parsing schema for the
g_request: This is the most recent REQUEST.
Requests are set by buttons in APEX.
The HTMLDB_APPLICATION package also exposes a
global array which references values from certain page items. The
HTMLDB_ITEM package can be used to create items on an application
page. This means the developer creates them programmatically during
page rendering instead of creating the page item with a wizard. When
items are created like this, they are provided a numeric value.
APEX then references the page item in an array. Up to 50 items can be
created using the HTMLDB_ITEM package and still be allowed to
reference them using HTMLDB_APPLICATION package. An example of this
was provided during the checkbox explanation in an earlier chapter of
this book. There, the htmldb_item.checkbox procedure was used to add
checkboxes to a report. The arrays in the htmldb_application package
were then used to reference the checkbox during page processing.
For the checkboxes shown in Figure 10.3, the HTML
code that was rendered by using the htmldb_item.checkbox procedure
looks like the following:
type="checkbox" name="f10" value="1" CHECKED />
<input type="checkbox" name="f10" value="2" CHECKED />
<input type="checkbox" name="f10" value="3" />
<input type="checkbox" name="f10" value="4" CHECKED />
<input type="checkbox" name="f10" value="5" />
When the page is submitted, only the checkboxes
which are checked will appear in the arrays of the htmldb_application
package. For the example above, there will be three array elements in
the array named g_f10. Programmatically, it is possible to loop
through the array in a page processing process and update the data in
the database. The following code shows an example of how the code to
loop through the htmldb_application.g_f10 array would look:
for i in 1..htmldb_application.g_f10.count loop
set available_flag = 'Y'
where class_id = htmldb_application.g_f10(i);
While looping through the array and using the
sample checkboxes from above, the values one, two, and four would
appear in the array.
The above book excerpt is from:
Oracle Application Express
Dynamic Web Pages with OAE
Michael Cunningham & Kent Crotty