In case the screenshot is too small, the URL is
https://apex.oracle.com/pls/apex/oll/test/OLLPROD/content/P24_CONTENT_ID/4191/P24_PREV_PAGE/1?sessionid=0
The URI Template is easy to follow and fairly portable. I'm working on a generic way to do this in any app but here's the one we're using for this specific page.
test/{app}/{page}/{item1}/{item1v}/{item2}/{item2v}?sessionid={session}
Then the Apex Listener translates those things in { } into binds which can be used in this plsql block to run the F procedure and get a page out of Apex.
declare
/* buffer to build up the value */
 p varchar2(32767);
begin
  /* add in app,page, and session */
  p:=:app||':'||:page||':'||:session;
  /* move along nothing to see here */
  p:= p||'::::';
  /* add in item names */
  p:= p|| :item1;
  if ( :item2 is not null ) Then
    p:= p|| ','||:item2;
  end if;
 p:=p||':';
 /* addin item values */
  p:= p|| :item1v;
  if ( :item2 is not null ) Then
    p:= p|| ','||:item2v;
  end if;
  
  f(p=>p);
end;
I have to mention things could be rendered badly if anything is reading owa_util package to get assumptions from the URL. One thing that I know didn't work for me was the use of apex_util.get_blob_file but that's easy to fix from yesterday's post.


