There are numerous advantages for planning page numbers in Oracle Application Express. The more obvious is that you can group pages and order then based on function. Finding a page from a list of pages becomes easier with a plan. Your list looks organized. Well, it is organized. The Christopher Columbus style stumbling ends and confident navigation begins.
There are numerous others that we have found over the recent years. I’ll come back to those. Last week, when playing with List Entry (application > shared components > list details > create / edit list entry), I looked at the List Current Entry for Conditions attribute. APEX wizards add pages using comma. Why vary, I did the same. But we are in our third new product this spring. Our internal standards and processes now impact how we number pages. These correspond to lists (menus).
So I found a nugget of good-stuff in APEX written by our friends at Oracle. You can use a SQL statement (or a PL/SQL statement) identify a current element of a list.
select :APP_PAGE_ID from dual where :APP_PAGE_ID between 70000 and 79999
In terms of a game, these are points. Coding manna points are earned when we let the tools do the work. Adding and managing comma or colon separated lists requires maintenance from humans.
The team at Oracle hint at this. They always number the login page 101. Many of us follow suit with the global page at 0. At Storm Petrel, the Help page is always 999 – a little tip of my hat at emergency services in the UK. Guess what, we want the Help Page in a new app, copy 999 to 999, done. The lost password page: 102. Again facilitating the copy feature between apps.
The bottom or last item on application menus tends to be administrative settings with a picture of a cog or a wrench. There then you find all the rather boring and so completely ordinary look up tables, configuration knobs and switches that systems require. For a while, we started these at page 90000. The landing page for the admin section on page 90000. The menu sequence number is 90000, the same at the page.
I admit that I do a lot of navigating between pages by running a page, using the application’s own navigation to hop around, then I press the “edit page” feature in the menu at the bottom. I don’t have to. Patterns emerge quickly. If your list (interactive report) sits on a page ending in 0 (zero), then the edit page likely sits on 1. Dancing between the two require the change of one digit. If 99000 is list of “Units of Measure” shown in an interactive report, then 99001 is the corresponding edit page.
Change the terminal digit from naught to one and done.
Commas or Queries
Hey anytime, I can step away from a delimited list that I must manage by hand, I’ll do it. If I were cleverer, I might have looked at this feature in Oracle with the same ears-up, tilted head perspective my dog too often uses at me. I might have asked: why is this here and how can I use it. Hum. Oh well, I got there in the end. And so did ole Christopher Columbus. Like him, I am excited to discover something already there, in place for years and used by others long before I saw it.
Now that we affirmatively know that Columbus didn’t actually discover America, can we get rid of his name day in October? My Viking ancestors drink and fight in Valhalla still fussin’. And my nephew’s Native American ancestors offer a unified “huh?”. Forgive the digression, such opinions belong outside of an Oracle blog.