Re: JInitiator: run_product(reports, ..) does not show parameter form

From: Timothy Taylor <ttaylor_at_us.oracle.com>
Date: Thu, 29 Oct 1998 10:35:53 -0500
Message-ID: <36388B59.683AF6C4_at_us.oracle.com>


Arjan,

That is correct: RUN_PRODUCT, even when called from a web Form, will not show the parameter form on your client's PC. There are two solutions:

  1. Write a Form that accepts all of the parameters, build a parameter list, and invoke RUN_PRODUCT. Make sure to use SYNCHRONOUS and to specify HTML or PDF output.
  2. Use the WEB.SHOW_DOCUMENT built in to specify a URL that points to your Reports Server.

We addresses this topic last week. Here's my previous post: Stephen,

I had this question from a customer last week. Here's how I solved it.

You are correct to point out that RUN_PRODUCT doesn't work as a solution for
web-enabled Forms calling web-enabled Reports. The problem is that RUN_PRODUCT
doesn't know anything about the Report Server. It just calls the client/server
Reports Background Engine. I'll bet that you get the Reports' parameter forms
popping up on your server.

The solution is to use the Forms built-in procedure WEB.SHOW_DOCUMENT(url,

target). This will allow you to send a report to the Report Server of your

choice. Only one problem: WEB.SHOW_DOCUMENT doesn't work in client/server mode,
only with web-deployed Forms. But there's a way around that too.

OK, now for the solution. My customer had a menu hierarchy, where each Report was
called from a pull-down menu item. We created a Program Unit called Run_Report
that could determine whether we were running web or client/server and would make
the appropriate call. Each menu item then calls Run_Report and passes the name of
the report. Actually, all of my customers Forms and Reports are Designer generated, so we created a library in Designer, changed a few preferences and had
Designer do all the work for us. Here's the basic outline of Run_Report (this is
NOT guaranteed to compile!):

procedure Run_Report (p_report in varchar2)

    usr        varchar2(100);
    pwd      varchar2(100);
    uif        varchar2(100);

    connstr varchar2(100);

begin

    uif := Get_Application_Property(USER_INTERFACE);
    usr := Get_Application_Property(USERID);
    pwd := Get_Application_Property(PASSWORD);
    connstr := Get_Application_Property(CONNECT_STRING);

    if uif = 'WEB' then

Web.Show_Document('/r30web?server=r30srv.world+report='||p_report||'+userid='||usr||'/'||pwd||'_at_'||connstr||

+'desformat=html+destype=cache+paramform=html', _blank);

    else

  • create and populate a parameter list if you need to Run_Product(REPORTS, ...); end if; end Run_Report;

In my Web.Show_Document code, r30web is the virtual mapping to the Reports

Cartridge on my Oracle Web Server and r30srv.world is the network name of my
Report Server. Since you are calling the Report Server, an HTML page will be
generated for your parameter form.

This way you have one set of Forms and Reports that you can deploy web or c/s.

Hope this helps.

Tim Taylor

Arjan van Bentem wrote:

> We have a Forms5 app that uses run_product(..) to trigger Reports3.
> Reports then shows the parameter form and everything is fine when
> using f50run32.
>
> Using JInitiator, we are trying to deploy the app on the web. It works
> fine, but when triggering the report no parameter form is shown and
> the applet does not respond anymore. However, when I shut down the
> Reports Server, suddenly the report is generated and shown in a new
> browser window just fine! That is: for those reports that accept null
> parameters the report is shown; for other reports I get a dialog
> telling me that my parameter value is not in the restricted LOV. This
> is true for both SYNCHRONOUS and ASYNCHRONOUS.
>
> I have closed all windows, but the parameter form really is not to be
> found (NT4, IE3.02, Developer Server 2.1, also on NT)... I need the
> parameter form! Any idea how to make it show?
>
> Thanks!
> Arjan.
Received on Thu Oct 29 1998 - 16:35:53 CET

Original text of this message