This discussion is archived
5 Replies Latest reply: Jan 7, 2013 3:41 AM by AlokDubey RSS

Web.show_document for All Records (%).

ocpdev Newbie
Currently Being Moderated
Hi all,

I m using form 11gr2, and calling report from form with a built-in Web.show_document as follow:

v_show_document := v_show_document
|| v_connect
|| '+server='
|| v_report_server
|| '+report='||:parameter.repname
|| '+destype=CACHE'
|| '+desformat='||v_format
|| '+paramform=no'
|| '+select1='||:mainblock.SELECT1
|| '+fromdate='||TO_CHAR(:FROMDATE,'DD-MM-RRRR')
|| '+todate='||TO_CHAR(:TODATE,'DD-MM-RRRR');

web.show_document(v_show_document);

It run the report successfully.

But a problem arises when I change one of parameters defined in above built-in i.e. select1=% , for all records, i.e.
when I make parameter select1 equivalent to *% (which is meant for all records)*. That is when I set parameter for all records=%, it shows following error:

REP-52006: The specified URL % cannot be decoded

i.e. when I set parameter equal to single value , report runs fine, but when I set parameter equal to *% (all records)*, it show above error.

I searched the net, someone said that *%* can not be used for all records, then what should be used for it and how?

Pl guide me .

Thanks & Regards.

Edited by: ocpdev on Jan 2, 2013 10:52 PM
  • 1. Re: Web.show_document for All Records (%).
    Andreas Weiden Guru
    Currently Being Moderated
    The %-sign is a resevred sign in an url, you have to mask it. Check the UTL_ENCODE-package in the database. But i would advice you you to RUN_REPORT_OBJECT when you call a report ffrom forms, ghe you don't have that problem.
  • 2. Re: Web.show_document for All Records (%).
    ocpdev Newbie
    Currently Being Moderated
    Thanks again Guru for reply,

    But after using Run_report_object, problem is same i.e. runs fine for a single record, but not when using *%* (for all records).

    I have used following code:
    --------------------------------------------------------------------------------------------------------------------------------------------------------------
    DECLARE
    Repid REPORT_OBJECT;
    v_rep VARCHAR2(100);
    rep_status VARCHAR2(20);
    BEGIN
    repid := FIND_REPORT_OBJECT('REPORT7');
    set_report_object_property(repid, REPORT_EXECUTION_MODE, BATCH);
    set_report_object_property(repid, REPORT_SERVER, 'rep_wls_reports_shiva-pc_asinst_1');
    set_report_object_property(repid, REPORT_COMM_MODE, SYNCHRONOUS);
    set_report_object_property(repid, REPORT_DESTYPE, CACHE);
    set_report_object_property(repid, REPORT_DESFORMAT, 'html');
    set_report_object_property(repid, REPORT_FILENAME, 'd:\finance\CATWISE_ITEMWISE_PARTYSALES.RDF');

    v_rep := RUN_REPORT_OBJECT(repid);

    web.show_document('http://Shiva-PC:9002/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||
    '?server=rep_wls_reports_shiva-pc_asinst_1'||
    '+FROMDATE='||TO_CHAR(:MAINBLOCK.FROMDATE,'DD-MM-RRRR')||
    '+TODATE='||TO_CHAR(:MAINBLOCK.TODATE,'DD-MM-RRRR')||
    '+select1='||:mainblock.SELECT1);

    END;
    ------------------------------------------------------------------------------------------------------------------------------------------------------------

    It gives same error as sent you previously.

    So sir please guide me again for using *%* .

    Thanks.

    Edited by: ocpdev on Jan 4, 2013 12:26 AM
  • 3. Re: Web.show_document for All Records (%).
    Andreas Weiden Guru
    Currently Being Moderated
    You have to add your parameters using SET_REPORT_OBJECT_PROPERTY, not by appending it to the url, add something like
    set_report_object_property(repid, REPORT_OTHER, 'FROMDATE="' ||TO_CHAR(:MAINBLOCK.FROMDATE,'DD-MM-RRRR')
                             || '" TODATE="'TO_CHAR(:MAINBLOCK.TODATE,'DD-MM-RRRR')
                             || '" select1="'||:mainblock.SELECT1|| '"');
  • 4. Re: Web.show_document for All Records (%).
    ocpdev Newbie
    Currently Being Moderated
    Thanks a lot Sir,

    With your guidance, my problem is solved now .

    You are requested to give attention to my previous pending problem, i.e. changing Reports Current Path which is as follow:
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------
    I want to change reports default path, so that I could use my own path (like c:\finance), wherein I put all my reports.

    You advised me to put the path, in a parameter like *"sourceDir" value="C:\FINANCE" in rwserver.conf* file of C:\Oracle\Middleware\asinst_1\config\ReportsServerComponent\RptSvr_hp_asinst_1 folder. But all in vein.

    Then I do the same in other rwserver.conf files of below folders also:

    C:\Oracle\Middleware\asinst_1\config\ReportsServerComponent\test_server.
    C:\Oracle\Middleware\user_projects\domains\ClassicDomain\config\fmwconfig\servers\WLS_REPORTS\applications\reports_11.1.2\configuration.
    C:\Oracle\Middleware\user_projects\domains\ClassicDomain\servers\WLS_REPORTS\tmp\_WL_user\reports_11.1.2\uxabaw\configuration.

    After this, one more problem arises i.e. when I call a report from a form, Report Server asks for Username & Password for System User Authentication, everytime I want to run the report.
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------

    I have also post this query in the form, but couldn't get response till now, as it is urgent, so I decided to post you Guru.

    Please guide me again, for which I will be greatfull to you.

    Thanks & Regards.

    Edited by: ocpdev on Jan 4, 2013 7:39 PM
  • 5. Re: Web.show_document for All Records (%).
    AlokDubey Newbie
    Currently Being Moderated
    To change the report server path, you can use the following statement to run the report from the forms.

    RUN_REPORT_OBJECT_PROC(l_repid,V_ReportserverName,'PDF',CACHE,'\\'||V_ServerIp||'\'||V_ApplicationDirectory||'\'||l_rep_name,l_rep_parameter,'/reports/rwservlet');

    This will enable us to set our working directory/report server name/server id etc.

    It is necessary to pass the user id, password while calling the report, to hide this sensitive data, use pfaction parameter.

    Regards,
    Alok Dubey

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points