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.