Running reports in 9ids

I want to use report in 9ids(windows Xp).
Please tell me about configuration steps.
where to place reports and where to set path in registry.
In my application I want to run report from Form.

Follow my example in thread
Re: Run Report10g  Through form 10g
where to place reports and where to set path in registry.Report_path : where you have you reports
Proceed step by step, and look also in oracle.com (reports demo) and here in Reports Forum
Hope this help
Regards

Similar Messages

  • FRM-41214: Unable ro run report while calling a report from a form in 9iDS

    Am in the process of migrating from Developer 6i client/server to Developer 9iDS on Windows 2000.
    I have read through the various postings on this issue & have made changes accordingly. I also referred to the white paper on the Forms/Reports integration.
    As I am trying to do a prototype, am compiling my forms/reports on my local machine & not on the apps. server.
    I installed a report server on my local machine as,
    rwserver -install 9irep
    I have defined this as a NT service and it is up & running & so is my OC4J instance.
    I have defined a reports object in my Form Builder & set Report Server=9irep,
    Destype=Cache,
    Execution mode=runtime
    Communication_mode=synchronous.
    I also removed the /security tag from the <report server>.conf file as suggested in the white paper. Also set the single sign-on to NO for the reports service.
    I have replaced my run_product with the run_report_object built-in as follows.
    Declare
    report_id      REPORT_OBJECT;
    report_status VARCHAR2(255);
    rep_job_id      VARCHAR2(255);
    Begin
    report_id := FIND_REPORT_OBJECT('KS'); --Created in form under node "Reports"
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_FILENAME,'C:\Kalpana\9i_Prototype\ISSMDLCUST.rdf');
    rep_job_id := RUN_REPORT_OBJECT(report_id);
    report_status := REPORT_OBJECT_STATUS(rep_job_id);
    WHILE report_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
    LOOP
    report_status := REPORT_OBJECT_STATUS(rep_job_id);
    END LOOP;
    message(report_status); pause;
    IF report_status='FINISHED' THEN
    Web.Show_Document('http://houwdisndgd01:8888/reports/server/getjobid='
    ||rep_job_id||'?server=ks');
    END IF;
    End;
    I get an error message "FRM 41214: Unable to run report" right after the call to run_report_object.
    Can someone please tell me where am going wrong with my run_report_object built-in? (I also need help writing my web.show document to point it to my local machine/folders).
    Thanks
    Kalpana

    How I have implemented the same and works
    Local OC4J is running.
    I established a reports server "repserver90" as a service.
    I created a report named "C:\TMP\TMP\test_report.rdf"
    I created a form with a Reports object with properties:
    Name: "EMP"
    Filename: "C:\TMP\TMP\test_report.rdf"
    Execution mode "Batch"
    Communication mode "Sychronous"
    Report Destination Type "Cache"
    Report Destination Format "HTML"
    Report Server "repserver90"
    I call the report with the procedure:
    PROCEDURE TEST_REPORT IS
    repid REPORT_OBJECT;
    v_rep VARCHAR2(100);
    rep_status VARCHAR2(20);
    BEGIN
    repid := find_report_object('EMP');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,BATCH);
    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_SERVER,'repserver90');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'paramform=no pdeptno='||:dept.deptno);
    v_rep := RUN_REPORT_OBJECT(repid);
    rep_status := REPORT_OBJECT_STATUS(v_rep);
    WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
    LOOP
    rep_status := report_object_status(v_rep);
    END LOOP;
    IF rep_status = 'FINISHED' THEN
    /*Display report in the browser*/
    WEB.SHOW_DOCUMENT('http://localhost:8888/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repserver90','_blank');
    ELSE
    message('Error when running report');
    END IF;
    END;
    Minas

  • Reports 6i and Report Server 9iDS

    Hello there,
    I have two questions:
    1- Does Report Server in 9iDS runs reports faster then running reports in Reports 6i (without Report Server).
    2- Can I use Report Server 9iDS in Reports 6i on same Machine?
    If yes then How?
    Thanking you all in advance.
    Regards ,
    Usman

    I think i made mistake in representing my question no 2.
    I want to know can i use Reports which are compiled in 6i with using forms 6i and can run reports with 9i Report server.
    Many thanks.
    Regards,
    Usman

  • Running report from forms

    hi,
    I am having problems in running report from form.
    I am using oracle 9i on windows 2000 server and no 9iAS at the moment. On client side, i have windows xp and 9iDS installed. I want to run report from forms in 9iDS testing environment.
    my forms are running ok but now i need to run report. so what i have done is that i have created a report object in form and following are enteries present in it at the moment.
    Name REPORT7
    FileName D:\Projects\IBMR\forms\soil_water_quality_data.rdf
    Execution Mode Batch
    Communication Mode Synchronous
    Destination Type Cache
    Report Server 9irep
    and in when_button_pressed trigger
    DECLARE
    Report_Id REPORT_OBJECT;
    Report_Job_Id VARCHAR2(20);
    Report_Status VARCHAR2(80);
    Report_Svr VARCHAR2(20);
    BEGIN
    Report_Id := FIND_REPORT_OBJECT('REPORT7');
    Report_Svr := '9irep';
    SET_REPORT_OBJECT_PROPERTY(Report_Id,REPORT_EXECUTION_MODE, BATCH);
    SET_REPORT_OBJECT_PROPERTY(Report_Id,REPORT_FILENAME, '\projects\ibmr\forms\soil_water_quality_data.rdf');
    SET_REPORT_OBJECT_PROPERTY(Report_Id,REPORT_COMM_MODE, SYNCHRONOUS);
    SET_REPORT_OBJECT_PROPERTY(Report_Id,REPORT_DESFORMAT,'PDF');
    SET_REPORT_OBJECT_PROPERTY(Report_Id,REPORT_OTHER, 'paramform=no');
    Report_Job_Id := RUN_REPORT_OBJECT(Report_Id);
    Report_Status := REPORT_OBJECT_STATUS(Report_Job_Id);
    WHILE Report_Status IN ('RUNNING','OPENING_REPORT','ENQUEUED') LOOP
    Report_Status := REPORT_OBJECT_STATUS(Report_Job_Id);
    END LOOP;
    IF Report_Status = 'FINISHED' then
    WEB.SHOW_DOCUMENT('/reports/rwservlet/getjobid'||substr(Report_job_id,instr(Report_Job_Id,'_',-1)+1)||'?'||'server=9irep','_blank');
    else
         message ('report server failed with error message '||report_status);
    END IF;
    END;
    i have installed report server with following command
    rwserver -install 9irep
    i have changed entry in rwservlet.properties like
    SINGLESIGNON=NO and i have removed the following entire block of 9irep.conf, which i have read from some documentation
    <!--security id="rwSec" class="oracle.reports.server.RWSecurity">
    <property name="securityUserid" value="%PORTAL_DB_USERNAME%/%PORTAL_DB_PASSWORD%@%PORTAL_DB_TNSNAME%" confidential="yes" encrypted="no"/>
    </security-->
    i get the following error message when i run my form
    frm-41214 Unable to run report
    and then next message is
    frm-41217 unable to get report job status
    i debugged the report id and it is
    9irep_0
    returned by Report_Job_Id := RUN_REPORT_OBJECT(Report_Id);
    When I checked the Report Queue Manager
    it is showing status like
    (9irep)Terminated with error
    and detail it shows is
    Unable to connect to the specified database.
    Now I am wondering what to do next.
    any suggestions???????

    Hello,
    From your description, it seems like the report is faling due to a database authentication problem. When you run your report from Forms, Forms internally passes the its database connection information to Reports automatically. So ensure that you are connected to a valid database in Forms, before the report is called.
    Please verify whether a simple report which does not require a database connection, for example, a report containing only a boilerplate text object, is running correctly. Also, in the trigger code that you have specified, you should add the following:
    SET_REPORT_OBJECT_PROPERTY(Report_Id, REPORT_DESTYPE, CACHE);
    so that the report output gets generated to the server cache, and can be retrieved using rwservlet/getjobid.
    Thanks,
    The Oracle Reports Team.

  • REP-56092 WHEN RUN REPORT IN WEB LAYOUT

    I have installed report 9iDS and can run report in paper layout without any problem.
    However , when I press "Run Web Layout" button , I get message
    rep-56092 NO CLASS DEFINED FOR DESTINATION TYPE SCREEN WHEN RUN WEBLAYOUT.
    Do anybody has idea why this is happening??

    Hi
    If the ENVIRONMENT is Sun SPARC and
    NLS_LANG: Traditional Chinese_Taiwan.ZHT16MSWIN950 , then it is a known problem. There is a bug 2332838 filed for this issue.
    regards
    ~sudha

  • Run Report and download

    I am using 9IDS
    My requirement is
    1) To run report in character mode from form
    2) then download that file to user end.
    will somebody help me to solve this problem
    pls suggest me coding
    thanks in advance

    i am getting error
    unable to runreport
    my codes are
              f_name :='C:\file\file1.txt';
    --if upper(vc_runformat)<>'TXT' then
         rep_id:=find_report_object('SAL_REG_DEPT');               
         set_report_object_property(rep_id,REPORT_EXECUTION_MODE,BATCH);
         set_report_object_property(rep_id,REPORT_COMM_MODE,SYNCHRONOUS);
         set_report_object_property(rep_id,REPORT_DESTYPE,FILE);
         set_report_object_property(rep_id,REPORT_DESNAME,f_name);               
         set_report_object_property(rep_id,REPORT_DESFORMAT,vc_runformat);
    --set_report_object_property(rep_id,REPORT_MODE,'dflt');     
         set_report_object_property(rep_id,REPORT_SERVER,vc_reportserver);
         set_report_object_property(rep_id,REPORT_OTHER,'comp_code="'||:global.vc_comp_code||'" catg="'||catg||'" dept="'||dept||'" emp_code="'||emp||'" locat="'||:list_loc||'" month="'||mth||'" year="'||yr||'" note="'||note||'" note1="'||note1||'" Paramform=no');     
    vc_reportserverjob:=RUN_Report_Object(rep_id);
    vjob_id:=substr(vc_reportserverjob,length(vc_reportserver)+2,length(vc_reportserverjob));
    vc_rep_status :=REPORT_OBJECT_STATUS(vc_reportserverjob);
    when i have seen from reportserver trace file
    found this error
    [2005/5/9 10:39:5] Info 50132 (JobObject:reset): Get command line: REPORT=C:\Makess\Hrpay\Reports\sal_reg_dept.rdf USERID=HRPAY BATCH=YES DESTYPE=file DESNAME=C:\file\file1.txt DESFORMAT=TEXT comp_code="01" catg="C001" dept="" emp_code="" locat="D001" month="05" year="2005" note="" note1="" Paramform=no AUTHID=ANONYMOUS
    [2005/5/9 10:39:5] Debug 50103 (JobManager:findDuplicatedJob): Found no duplicated job for job 686
    [2005/5/9 10:39:5] State 56004 (EngineInfo:setState): Engine rwEng-0 state is: Reserved
    [2005/5/9 10:39:5] State 56004 (EngineInfo:setState): Engine rwEng-0 state is: Running
    [2005/5/9 10:39:5] State 56004 (EngineInfo:setState): Engine rwEng-0 state is: Idle
    [2005/5/9 10:39:5] Debug 50103 (JobManager:runJobInEngine): Send job 686 to engine rwEng-0
    [2005/5/9 10:39:5] State 56004 (EngineInfo:setState): Engine rwEng-0 state is: Running
    [2005/5/9 10:39:5] State 56016 (JobManager:updateJobStatus): Job 686 status is: Terminated with error:
    REP-1804: Unable to open printer definition file 'C:\Makess\Hrpay\Reports\sal_reg_dept.rdf'.
    [2005/5/9 10:39:5] Debug 50103 (JobManager:updateJobStatus): Notify master job 686
    [2005/5/9 10:39:5] State 56004 (EngineInfo:setState): Engine rwEng-0 state is: Ready
    [2005/5/9 10:39:5] Exception 1804 (): Unable to open printer definition file 'C:\Makess\Hrpay\Reports\sal_reg_dept.rdf'.
    exception oracle.reports.RWException {
    oracle.reports.RWError[] errorChain={struct oracle.reports.RWError {
    int errorCode=1804,
    java.lang.String errorString="Unable to open printer definition file 'C:\Makess\Hrpay\Reports\sal_reg_dept.rdf'.
    java.lang.String moduleName="REP"
    pls state me why it is asking printer and where to pass

  • WIJ 20002 error on long running reports

    When trying to run a long running report, an error message is received .
    Quote:
    *"The Web Intelligence Java Report Panel cannot connect to the server. Close
    the report panel and try to connect again or see your BusinessObjects
    administrator. (Error: WIJ 20002)"*
    What happens next is you are advised to "close" (twice) and are then advised to close this window.
    If you select Details on the first error message:
    Server: https://test.i3access.iowa.gov:443/desktoplaunch/InfoView/CrystalEnterprise_Webi/cdzServlet?
    java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 502 for URL: https://test.i3access.iowa.gov:443/desktoplaunch/InfoView/CrystalEnterprise_Webi/cdzServlet
         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
         at com.businessobjects.wp.cpi.CPIConnection.postRequest(CPIConnection.java:437)
         at com.businessobjects.wp.xml.XMLViaHttp.loadScript(XMLViaHttp.java:144)
         at com.businessobjects.wp.xml.XMLViaHttp.getPromptList(XMLViaHttp.java:1284)
         at com.businessobjects.wp.xml.XMLLoader.getPromptList(XMLLoader.java:279)
         at com.businessobjects.wp.om.OMQuery.loadPromptsAndContexts(OMQuery.java:359)
         at com.businessobjects.wp.om.OMQuery.getActiveContextCount(OMQuery.java:384)
         at com.businessobjects.wp.tc.query.TCQueryPropertie.buildQueryContextFromUI(TCQueryPropertie.java:496)
         at com.businessobjects.wp.tc.query.TCQueryTab.buildQueryContextFromUI(TCQueryTab.java:846)
         at com.businessobjects.wp.tc.query.TCQueryTab.modifyQueryProperties(TCQueryTab.java:638)
         at com.businessobjects.wp.tc.query.TCQueryTabManager.modifyQueryTabs(TCQueryTabManager.java:306)
         at com.businessobjects.wp.tc.query.TCQueryPanel.modifyQueryTabs(TCQueryPanel.java:310)
         at com.businessobjects.wp.tc.query.TCQueryPanel.load(TCQueryPanel.java:383)
         at com.businessobjects.wp.tc.TCMainPanel.switchToQueryPanel(TCMainPanel.java:563)
         at com.businessobjects.wp.tc.TCMainPanel.actionPerformed(TCMainPanel.java:506)
         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
         at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
         at com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source)
         at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at javax.swing.JComponent.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
         at com.businessobjects.wp.cpi.CPIConnection.postRequest(CPIConnection.java:441)
         at com.businessobjects.wp.xml.XMLViaHttp.loadScript(XMLViaHttp.java:144)
         at com.businessobjects.wp.xml.XMLViaHttp.getPromptList(XMLViaHttp.java:1284)
         at com.businessobjects.wp.xml.XMLLoader.getPromptList(XMLLoader.java:279)
         at com.businessobjects.wp.om.OMQuery.loadPromptsAndContexts(OMQuery.java:359)
         at com.businessobjects.wp.om.OMQuery.getActiveContextCount(OMQuery.java:384)
         at com.businessobjects.wp.tc.query.TCQueryPropertie.buildQueryContextFromUI(TCQueryPropertie.java:496)
         at com.businessobjects.wp.tc.query.TCQueryTab.buildQueryContextFromUI(TCQueryTab.java:846)
         at com.businessobjects.wp.tc.query.TCQueryTab.modifyQueryProperties(TCQueryTab.java:638)
         at com.businessobjects.wp.tc.query.TCQueryTabManager.modifyQueryTabs(TCQueryTabManager.java:306)
         at com.businessobjects.wp.tc.query.TCQueryPanel.modifyQueryTabs(TCQueryPanel.java:310)
         at com.businessobjects.wp.tc.query.TCQueryPanel.load(TCQueryPanel.java:383)
         at com.businessobjects.wp.tc.TCMainPanel.switchToQueryPanel(TCMainPanel.java:563)
         at com.businessobjects.wp.tc.TCMainPanel.actionPerformed(TCMainPanel.java:506)
         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
         at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
         at com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source)
         at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at javax.swing.JComponent.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    Please let me know what the solution is.

    Matt,
    A namesake of yours is my client for this issue.
    Coming to the problem, the customer says there is proxy configured between HTTP server and WebSphere. This proxy server times out for long running reports. If the HTTPServer is bypassed, things work fine.
    A colleague of mine opened a case with BOBJ. I can get you the case# if you need it. We got this reply:
    From: Takano, Hitomi
    Sent: Tuesday, November 04, 2008 10:26 AM
    Hi Matt,
    I was away for the last two days, so I couldn't reply to you sooner.
    Extending the timeout setting from Webi and Infoview in BOXI R2 will not
    make the long running reports work as your proxy setting at the lower
    layer than BOXI just allows 5 minutes and after that the connection will
    be cancelled by the proxy. I'm not sure why this setting was effective
    for https only or timeout out after 2 min. This is out of scope of BOXI
    R2 and your network admin would be the best person to handle. You were
    getting 502 error in Java Report Panel. I googled with "502 error and
    ProxyTimeout", and I got the some articles returned which say  when
    backend doesn't answer on requests(because it timed out), it returns to
    a client an error 502.
    I'll close this thread as the n/w admin at the client are working things out.
    Thanks for your support.

  • Get a Report crashed error while running report using the mode character

    Hello,
    I'am getting an "Enable to run report - Report as crashde" issue only when I'am running reports using the mode character. The same report with desformat pdf never has any problems. I have changed the englife (set to one) increase the cachesize but I still have the same issue.
    I'm using report 6i and Oracle 8i.
    Thanks in advance for your help.
    Regards,
    Laurent.

    Hi Thanks for the response,
    In fact the report in character mode is working fine in my environnement but is not working on my customer environnement (which is supposed to be the same as mine). I was thinking of cache size issue or something like this ?
    Regards,
    Laurent.

  • FRM-92101 error while running report from a button or menu

    Hi All,
    I am getting the error FRM-92101 while running report without parameter from a button or menu. I am using Developer Suit 10g. I get the error as it shows there has some configuration problem in my form. Will you please help me anyone how can i solve the problem. My previous forms running very well both with parameter and without parameter.
    Arif

    Hello Sir,
    Thanks for your cooperation. I have solved my problem by myself. The fact was that, when i tried with the following code which made my report---
    SELECT br.bid, br.bname, br.branchtxnstatus, dif.difference
    FROM branch br,
    (SELECT gladbrid branchid,
    SUM
    (CASE
    WHEN ga.gl_acc_categry IN ('L', 'I')
    THEN gd.gladbalance
    ELSE -1 * gd.gladbalance
    END
    ) AS difference
    FROM glaccount ga, glaccountdetail gd
    WHERE ga.glid = gd.gladglid
    GROUP BY gladbrid) dif
    WHERE dif.branchid = br.bid AND br.branchtxnstatus = :Br_Status
    and dif.difference!=0
    ORDER BY br.bid;
    and the code against the button or menu item is---
    DECLARE
    repid REPORT_OBJECT;
    v_rep VARCHAR2(100);
    rep_status VARCHAR2(20);
    BEGIN
    repid := FIND_REPORT_OBJECT('ASSET');
    v_rep := RUN_REPORT_OBJECT(repid);
    rep_status := REPORT_OBJECT_STATUS(v_rep);
    WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
    LOOP
    rep_status := report_object_status(v_rep);
    END LOOP;
    IF rep_status = 'FINISHED' THEN
    /*Display report in the browser*/
    WEB.SHOW_DOCUMENT('http://192.168.0.21:8889/reports/rwservlet/getjobid'||
    substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repserver90','_blank');
    ELSE
    message('Error when running report');
    END IF;
    Clear_message;
    END;
    Clear_message;
    which has shown the error FRM-92101 and didn't run the report.
    In that case I have changed the query to run the report. first of all i create a view following the query and build the report using a simple select query. that's etc. my report running fine now.
    It is mentioned that there had no error on my codes.
    Arif

  • Can't run report in ASYNCHRONOUS mode

    Hi All,
    I'm trying to make a report run in ASYNCHRONOUS mode. I want to press a button on a form, submit the report to the reports server and be able to navigate within the form while the report is being executed on the reports server.
    My problem is, no matter what mode I choose (ASYNCHRONOUS or SYNCHRONOUS), the mode ALWAYS ends up being SYNCHRONOUS. After I press the button (code below), I get the hourglass and I can't navigate within the form until the report is finished. Then I can view it.
    The reports server I'm using is installed locally on the same PC I'm testing the form.
    Can someone help me please? I'm using using Forms Builder 9.0.2.9.0.
    Thank you,
    Artur
    declare
         v_repid REPORT_OBJECT;
    v_rep in varchar2(100);
    begin
    v_repid := find_report_object('TEST');
    SET_REPORT_OBJECT_PROPERTY(v_repid, REPORT_EXECUTION_MODE, BATCH);
    SET_REPORT_OBJECT_PROPERTY(v_repid, REPORT_COMM_MODE, ASYNCHRONOUS);
    SET_REPORT_OBJECT_PROPERTY(v_repid, REPORT_DESTYPE, 'CACHE');
    SET_REPORT_OBJECT_PROPERTY(v_repid, REPORT_DESFORMAT, 'PDF'); -- OR HTMLCSS
    SET_REPORT_OBJECT_PROPERTY(v_repid, REPORT_SERVER, :TI_REPORTS_SERVER); -- local pc reports server
    v_rep := RUN_REPORT_OBJECT(v_repid, v_param_list);
    end;

    Arthur,
    Communication mode is soemthing forms handles when calling the run report object. Your code looks fine. You might get a quikc answer if you can post this in Forms mailing list
    Thanks
    The Oracle Reports Team

  • Not Able to run Report 10g through Web Layout Option

    I have installed Oracle Developer 10g on my Laptop, I am able to run form, Report(In paper layout) successfully but when I try to run Report in Web Layout Mode, I am getting following error, Is there any setting is missing, could you provide some hint that would help me in resolving my issue.
    Thanks
    Kamlesh
    500 Internal Server Error
    OracleJSP: oracle.jsp.provider.JspCompileException:
    Errors compiling:C:\Documents and Settings\kamlesh\Local Settings\Temp\docroot\3000\default\defaultWebApp\persistence\_pages\\_MODULE1001201432.java
    javac: invalid flag: Files\Java\j2re1.4.2_01\lib\ext\QTJava.zip;;C:\Dev10g\j2ee\home\lib/ejb.jar;C:\Dev10g\j2ee\home\lib/servlet.jar;C:\Dev10g\j2ee\home\lib/ojsp.jar;C:\Dev10g\j2ee\home\lib/jndi.jar;C:\Dev10g\j2ee\home\lib/jdbc.jar;C:\Dev10g\j2ee\home\iiop.jar;C:\Dev10g\j2ee\home\iiop_gen_bin.jar;C:\Dev10g\j2ee\home\lib/jms.jar;C:\Dev10g\j2ee\home\lib/jta.jar;C:\Dev10g\j2ee\home\lib/jmxri.jar;C:\Dev10g\j2ee\home\lib/javax77.jar;C:\Dev10g\j2ee\home\lib/javax88.jar;C:\Dev10g\j2ee\home\../../opmn/lib/ons.jar;C:\Dev10g\j2ee\home\../../opmn/lib/optic.jar;C:\Dev10g\j2ee\home\../../lib/dms.jar;C:\Dev10g\j2ee\home\../../dms/lib/dms.jar;C:\Dev10g\j2ee\home\../../diagnostics/lib/ojdl.jar;C:\Dev10g\j2ee\home\../../dms/diagnostics/lib/ojdl.jar;C:\Dev10g\j2ee\home\lib/connector.jar;C:\Dev10g\j2ee\home\lib/bcel.jar;C:\Dev10g\j2ee\home\lib/cos.jar;C:\Dev10g\j2ee\home\lib/jsse.jar;C:\Dev10g\j2ee\home\../../oracle/lib/jsse.jar;C:\Dev10g\j2ee\home\lib/jnet.jar;C:\Dev10g\j2ee\home\lib/jcert.jar;C:\Dev10g\j2ee\home\lib/activation.jar;C:\Dev10g\j2ee\home\lib/mail.jar;C:\Dev10g\j2ee\home\../../javavm/lib/jasper.zip;C:\Dev10g\j2ee\home\../../lib/xmlparserv2.jar;C:\Dev10g\j2ee\home\../../oracle/lib/xmlparserv2.jar;C:\Dev10g\j2ee\home\../../jlib/orai18n.jar;C:\Dev10g\j2ee\home\../../oracle/jlib/orai18n.jar;C:\Dev10g\j2ee\home\lib/jaxp.jar;C:\Dev10g\j2ee\home\lib/jaas.jar;C:\Dev10g\j2ee\home\jazn.jar;C:\Dev10g\j2ee\home\../../jdbc/lib/classes12dms.jar;C:\Dev10g\j2ee\home\../../oracle/jdbc/lib/classes12dms.jar;C:\Dev10g\j2ee\home\../../jdbc/lib/nls_charset12.jar;C:\Dev10g\j2ee\home\../../oracle/jdbc/lib/nls_charset12.jar;C:\Dev10g\j2ee\home\jaxb-rt-1.0-ea.jar;C:\Dev10g\j2ee\home\../../soap/lib/soap.jar;C:\Dev10g\j2ee\home\../../webservices/lib/wsserver.jar;C:\Dev10g\j2ee\home\../../webservices/lib/wsdl.jar;C:\Dev10g\j2ee\home\../../rdbms/jlib/aqapi.jar;C:\Dev10g\j2ee\home\lib/jem.jar;C:\Dev10g\j2ee\home\../../javacache/lib/cache.jar;C:\Dev10g\j2ee\home\lib/http_client.jar;C:\Dev10g\j2ee\home\../../jlib/jssl-1_1.jar;C:\Dev10g\j2ee\home\../../oracle/jlib/jssl-1_1.jar;C:\Dev10g\j2ee\home\../../jlib/repository.jar;C:\Dev10g\j2ee\home\../../oracle/jlib/repository.jar;C:\Dev10g\j2ee\home\lib/jaasmodules.jar;C:\Dev10g\j2ee\home\../../sqlj/lib/runtime12ee.jar;C:\Dev10g\j2ee\home\../../sqlj/lib/translator.jar;C:\Dev10g\j2ee\home\lib/crimson.jar;C:\Dev10g\j2ee\home\../../jlib/ojpcs.jar;C:\Dev10g\j2ee\home\../../oracle/jlib/ojpcs.jar;C:\Dev10g\j2ee\home\../../jlib/ojpcp.jar;C:\Dev10g\j2ee\home\../../oracle/jlib/ojpcp.jar;C:\Dev10g\j2ee\home\../../jlib/ojpse.jar;C:\Dev10g\j2ee\home\../../oracle/jlib/ojpse.jar;C:\Dev10g\j2ee\home\../../jlib/ojpsmime.jar;C:\Dev10g\j2ee\home\../../oracle/jlib/ojpsmime.jar;C:\Dev10g\j2ee\home\../../jlib/ojpcms.jar;C:\Dev10g\j2ee\home\../../oracle/jlib/ojpcms.jar;;;C:\Documents and Settings\kamlesh\Local Settings\Temp\docroot\WEB-INF\lib\reports_tld.jar;C:\Documents and Settings\kamlesh\Local Settings\Temp\docroot\WEB-INF\classes;C:\Documents and Settings\kamlesh\Local Settings\Temp\docroot\WEB-INF\lib\reports_tld.jar;.
    Usage: javac
    where possible options include:
    -g Generate all debugging info
    -g:none Generate no debugging info
    -g:{lines,vars,source} Generate only some debugging info
    -nowarn Generate no warnings
    -verbose Output messages about what the compiler is doing
    -deprecation Output source locations where deprecated APIs are used
    -classpath Specify where to find user class files
    -sourcepath Specify where to find input source files
    -bootclasspath Override location of bootstrap class files
    -extdirs Override location of installed extensions
    -d Specify where to place generated class files
    -encoding Specify character encoding used by source files
    -source Provide source compatibility with specified release
    -target Generate class files for specific VM version
    -help Print a synopsis of standard options

    Hello,
    The problem seems to be a space in the Classpath :
    javac: invalid flag: Files\Java\j2re1.4.2_01
    Files\Java\j2re1.4.2_01 seems to be the end of c:\Program Files\Java\j2re1.4.2_01 ..
    Check REPORTS_CLASSPATH
    regards

  • CRM ONLINE 2013: On Approval Of Quotation, Run Report, Generate PDF and Send an Email With PDF as attachment

    Hi,
    I am using CRM ONLINE 2013.
    How to automate below process?
    1. On Approval Of Quotation, Run Report.
    2. Generate PDF.
    3. Send an Email With PDF as attachment.
    As i have gone through many forums for this topic, but creating a plugin code for generating Report PDF is not possible in CRM ONLINE.
    So, What is the alternate way to do this..?
    Thanks.

    This is my entire code mentioned below:-
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
        <script type="text/javascript">
            if (typeof (SDK) == "undefined")
            { SDK = { __namespace: true }; }
            SDK.JScriptRESTDataOperations = {
                _context: function () {
                    if (typeof GetGlobalContext != "undefined")
                    { return GetGlobalContext(); }
                    else {
                        if (typeof Xrm != "undefined") {
                            return Xrm.Page.context;
                        else { return new Error("Context is not available."); }
                _getServerUrl: function () {
                    var serverUrl = this._context().getServerUrl()
                    if (serverUrl.match(/\/$/)) {
                        serverUrl = serverUrl.substring(0, serverUrl.length - 1);
                    return serverUrl;
                _ODataPath: function () {
                    return this._getServerUrl() + "/XRMServices/2011/OrganizationData.svc/";
                _errorHandler: function (req) {
                    return new Error("Error : " +
      req.status + ": " +
      req.statusText + ": " +
      JSON.parse(req.responseText).error.message.value);
                _dateReviver: function (key, value) {
                    var a;
                    if (typeof value === 'string') {
                        a = /Date\(([-+]?\d+)\)/.exec(value);
                        if (a) {
                            return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
                    return value;
                Create: function (object, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("POST", this._ODataPath() + type + "Set", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 201) {
                                successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send(JSON.stringify(object));
                Retrieve: function (id, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("GET", this._ODataPath() + type + "Set(guid'" + id + "')", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 200) {
                                successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send();
                Update: function (id, object, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.setRequestHeader("X-HTTP-Method", "MERGE");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 204 || this.status == 1223) {
                                successCallback();
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send(JSON.stringify(object));
                Delete: function (id, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.setRequestHeader("X-HTTP-Method", "DELETE");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 204 || this.status == 1223) {
                                successCallback();
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send();
                RetrieveMultiple: function (type, filter, successCallback, errorCallback) {
                    if (filter != null) {
                        filter = "?" + filter;
                    else { filter = ""; }
                    var req = new XMLHttpRequest();
                    req.open("GET", this._ODataPath() + type + "Set" + filter, true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 200) {
                                successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d.results);
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send();
                __namespace: true
        </script>
        <script type="text/javascript">
            //Create Email and link it with Order as Regarding field
            var Xrm;
            var email = new Object();
            var ownerID = "";
            var CustomerId = "";
            if (window.opener) { Xrm = window.opener.Xrm; }
            else if (window.parent) { Xrm = window.parent.Xrm; }
            //Get ownerid who send email of quotation to customer
            function GetOwnerID() {
                var owner = Xrm.Page.getAttribute("ownerid").getValue();
                ownerID = owner[0].id;
                var ownerName = owner[0].name;
                var entityType = owner[0].entityType;
                GetToEmailGUID();
            //Get customerid who receive email of quotation from owner
            function GetToEmailGUID() {
                var Customer = Xrm.Page.getAttribute('customerid').getValue();
                CustomerId = Customer[0].id;
                var CustomerName = Customer[0].name;
                var entityType = Customer[0].entityType;
                //if CustomerId is type of "Account" then get Primary Contact id of that account
                if (entityType == "account") {
                    var contact = Xrm.Page.getAttribute("customerid").getValue();
                    if (contact === null) return;
                    var serverUrl = Xrm.Page.context.getClientUrl();
                    var oDataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc/AccountSet(guid'" + contact[0].id + "')?$select=PrimaryContactId";
                    var req = new XMLHttpRequest();
                    req.open("GET", oDataSelect, false);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
                    req.onreadystatechange = function () {
                        if (req.readyState === 4) {
                            if (req.status === 200) {
                                var retrieved = JSON.parse(req.responseText).d;
                                CustomerId = retrieved.PrimaryContactId.Id;
                            else {
                                alert(this.statusText);
                    req.send();
            function CreateEmail() {
                GetOwnerID();
                email.Subject = "Email with Report Attachment";
                //Set The current order as the Regarding object
                email.RegardingObjectId = {
                    Id: Xrm.Page.data.entity.getId(),    //Get the current entity Id , here OrderId
                    LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
                //Create Email Activity
                SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
            // Email Call Back function
            function EmailCallBack(result) {
                email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
                var activityPartyFrom = new Object();
                // Set the From party of the ActivityParty to relate an entity with Email From field
                activityPartyFrom.PartyId = {
                    Id: CustomerId, //"79EBDD26-FDBE-E311-8986-D89D6765B238",  // id of entity you want to associate this activity with.        
                    LogicalName: "contact"
                // Set the "activity" of the ActivityParty
                activityPartyFrom.ActivityId = {
                    Id: result.ActivityId,
                    LogicalName: "email"
                // Now set the participation type that describes the role of the party on the activity).
                activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
                // Create the from ActivityParty for the email
                SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
                var activityPartyTo = new Object();
                // Set the From party of the ActivityParty to relate an entity with Email From field
                activityPartyTo.PartyId = {
                    Id: ownerID, //"79EBDD26-FDBE-E311-8986-D89D6765B238",  // id of entity you want to associate this activity with.        
                    LogicalName: "systemuser"
                // Set the "activity" of the ActivityParty  
                activityPartyTo.ActivityId = {
                    Id: result.ActivityId,
                    LogicalName: "email"
                // Now set the participation type that describes the role of the party on the activity).    
                activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
                // Create the from ActivityParty
                SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
            //ActivityParty From Callback
            function ActivityPartyFromCallBack(result) {
            //ActivityParty To Callback
            function ActivityPartyToCallBack(result) {
                GetReportId('ABM_Infotech_SalesQuote');
            //Create attachment for the created email
            function CreateEmailAttachment() {
                //get reporting session and use the params to convert a report in PDF
                var params = getReportingSession();
                //Email attachment parameters
                var activitymimeattachment = Object();
                activitymimeattachment.ObjectId = Object();
                activitymimeattachment.ObjectId.LogicalName = "email";
                activitymimeattachment.ObjectId.Id = email.ActivityId;
                activitymimeattachment.ObjectTypeCode = "email",
                    activitymimeattachment.Subject = "File Attachment";
                activitymimeattachment.Body = encodePdf(params);
                activitymimeattachment.FileName = "Report1.pdf";
                activitymimeattachment.MimeType = "application/pdf";
                //Attachment call
                SDK.JScriptRESTDataOperations.Create(activitymimeattachment, "ActivityMimeAttachment", ActivityMimeAttachmentCallBack, function (error) { alert(error.message); });
            //ActivityMimeAttachment CallBack function
            function ActivityMimeAttachmentCallBack(result) {
                var features = "location=no,menubar=no,status=no,toolbar=no,resizable=yes";
                var width = "800px";
                var height = "600px";
                window.open(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", features);
                // To open window which works in outlook and IE both
                //openStdWin(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", width,
    height, features);
            //This method will get the reportId based on a report name that will be used in            getReportingSession() function
            function GetReportId(reportName) {
                var oDataSetName = "ReportSet";
                var columns = "ReportId";
                var filter = "Name eq '" + reportName + "'";
                retrieveMultiple(oDataSetName, columns, filter, onSuccess);
            function retrieveMultiple(odataSetName, select, filter, successCallback) {
                var serverUrl = Xrm.Page.context.getServerUrl();
                var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
                var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName + "?";
                if (select) {
                    odataUri += "$select=" + select + "&";
                if (filter) {
                    odataUri += "$filter=" + filter;
                $.ajax({
                    type: "GET",
                    contentType: "application/json; charset=utf-8",
                    datatype: "json",
                    url: odataUri,
                    beforeSend: function (XMLHttpRequest) {
                        XMLHttpRequest.setRequestHeader("Accept", "application/json");
                    success: function (data) {
                        if (successCallback) {
                            if (data && data.d && data.d.results) {
                                successCallback(data.d.results);
                            else if (data && data.d) {
                                successCallback(data.d);
                            else {
                                successCallback(data);
                    error: function (XmlHttpRequest, errorThrown) {
                        if (XmlHttpRequest && XmlHttpRequest.responseText) {
                            alert("Error while retrieval ; Error – " + XmlHttpRequest.responseText);
            function onSuccess(data) {
                reportId = data[0].ReportId.replace('{', ").replace('}', ");
                CreateEmailAttachment(); // Create Email Attachment
            //Gets the report contents
            function getReportingSession() {
                var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
                var retrieveEntityReq = new XMLHttpRequest();
                var Id = Xrm.Page.data.entity.getId();
                var quotationGUID = Id.replace('{', ""); //set this to selected quotation GUID
                quotationGUID = quotationGUID.replace('}', "");
                var reportName = "ABM_Infotech_SalesQuote"; //set this to the report you are trying to download
                var reportID = "751089AA-74B8-E211-B52F-D8D3855B253B"; //set this to the guid of the report you are trying to download
                var rptPathString = ""; //set this to the CRMF_Filtered parameter
                var strParameterXML = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'><entity name='quote'><all-attributes /><filter type='and'><condition
    attribute='quoteid' operator='eq' uitype='quote' value='" + quotationGUID + "' /> </filter></entity></fetch>";
                retrieveEntityReq.open("POST", pth, false);
                retrieveEntityReq.setRequestHeader("Accept", "*/*");
                retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                rptPathString = "id=%7B" + reportID + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName="
    +
                                reportName + "&isScheduledReport=false&p:ABMFilteredQuote=" + strParameterXML;
                //remove the part starting from &p:salesorderid if your report has no parameters
                retrieveEntityReq.send(rptPathString);
                var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
                var ret = new Array();
                ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
                x = retrieveEntityReq.responseText.indexOf("ControlID=");
                ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
                return ret;
            var bdy = new Array();
            var bdyLen = 0;
            function concat2Bdy(x) {
                bdy[bdyLen] = x;
                bdyLen++;
            function encodePdf(params) {
                bdy = new Array();
                bdyLen = 0;
                var retrieveEntityReq = new XMLHttpRequest();
                var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] +
                "&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] +
                "&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
                retrieveEntityReq.open("GET", pth, false);
                retrieveEntityReq.setRequestHeader("Accept", "*/*");
                retrieveEntityReq.send();
                BinaryToArray(retrieveEntityReq.responseBody);
                return encode64(bdy);
            var StringMaker = function () {
                this.parts = [];
                this.length = 0;
                this.append = function (s) {
                    this.parts.push(s);
                    this.length += s.length;
                this.prepend = function (s) {
                    this.parts.unshift(s);
                    this.length += s.length;
                this.toString = function () {
                    return this.parts.join('');
            var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
            function encode64(input) {
                var output = new StringMaker();
                var chr1, chr2, chr3;
                var enc1, enc2, enc3, enc4;
                var i = 0;
                while (i < input.length) {
                    chr1 = input[i++];
                    chr2 = input[i++];
                    chr3 = input[i++];
                    enc1 = chr1 >> 2;
                    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
                    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
                    enc4 = chr3 & 63;
                    if (isNaN(chr2)) {
                        enc3 = enc4 = 64;
                    } else if (isNaN(chr3)) {
                        enc4 = 64;
                    output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
                return output.toString();
        </script>
        <script type="text/vbscript">
        Function BinaryToArray(Binary)
               Dim i
               ReDim byteArray(LenB(Binary))
               For i = 1 To LenB(Binary)
                     byteArray(i-1) = AscB(MidB(Binary, i, 1))
                     concat2Bdy(AscB(MidB(Binary, i, 1)))
             Next
              BinaryToArray = byteArray
       End Function     
        </script>
    </head>
    <body>
        <input type="button" onclick="CreateEmail();" value="Attach Report" />
    </body>
    </html>

  • Accrual Reconciliation Load Run  report performance issue.

    we have significant performance issues when running accrual reconciliation load run report. we had to cancel after have it run for a day. any idea on how to resolve it?

    We experienced similar issue. As the runtime of this report depends on the input parameters. Remember, your first run of this report going to take significant amount of time and the subsequent runs will be much shorter.
    But w had to apply the patches referred in the MOS article to resolve the performance issue.
    Accrual Reconciliation Load Run Has Slow Performance [ID 1490578.1]
    Thanks,
    Sunthar....

  • Run Report from PL/SQL with branch to different page

    I have an application in which, at various points, I run a PL/SQL procedure to perform an action, and then need to run a report while also navigating away from the current page. The actions are executed on a button click.
    I have tried various method, but for the life of me cannot get the system to do both things (ie. run the report and branch to another page). I have tried putting in a branch to page 0 (to execute after processing on the button click), with a request line to print the report, followed by a branch to the other page (also to execute after processing on the button click) - and only the branch to page 0 actually executes. Also tried putting a branch to the other page only, with the print request in the Request parameter - but only runs the report, does not branch to the other page.
    I have also tried to put the call to run the report into the PL/SQL code, using utl_http.start_request(url), but that came up with a "Bad Request" error. Also tried using the owa_util.redirect_url call, but also no luck.
    I am pulling my hair out at the moment, mainly because I am under pressure to deliver the system in very short time.
    Any suggestions would be appreciated.

    You can run Report queries from their URL ( f?p=&APP_ID.:0:&SESSION.:PRINT_REPORT=<REPORT NAME>)
    So an approach would be to
    On Button click, call a JS function that
    <li>1. uses Ondemand/Callback process to do the workflow processing(check box selection records)
    <li>2. opens the Report as a popup window(from your IR page)
    <li>3. Redirect away from the IR page to another page?
    Another approach:
    <li>1. IR report submits the page
    <li>2. In the PLSQL block you do the processing
    <li>3. The branch redirects to a URL which would point to the Report URL.
    OR
    <li>3. Have an onload JS which runs only when the request was the BUTTON request and that opens up a page which points to the report.
    Yet another way would be to use htp.p within the PLSQL block that does the workflow processing
    So your PLSQL code would be
    BEGIN
      --Do the workflow processing here
      --End workflow processing
      htp.p('<script>');
      htp.p(' window.open("f?p=&APP_ID.:0:&SESSION.:PRINT_REPORT=<REPORT NAME>"'); --opens up the PDF report
      htp.p(' window.location.href= "f?p=&APP_ID.:<page number>:&SESSION."');  --to redirect to new page
      htp.p('</script>');
    END;

  • Running Reports - Help

    Hi All,
    We currently have users running a large number of reports on an AIX unix server and was struggling for a long while with memory usage when using rwclient.sh... During peak hours we would be getting approx. 100 requests every 5 minutes.
    We have recently switch to call rwservlet to execute our reports, which has seems to resolve the memory issue. Since our reports are called through a Unix script, we have configured it to use wget to call the URL and run the reports.
    However, we are now getting errors when executing reports in the dead of night... when no users are on and there are no other requests for reports except from our batches. Looking at the log files wget returns (which is the actual web page), it's usually empty which leads me to think that it is related to a "500 Internal Server Error". It doesn't make sense as neither the report server or the application server is shutdown during the night. Also, these are not long running reports, and sometimes the fail in quick successions. The rwserver.log doesn't report the failure either, which could possibly mean that the request never got to the report server.
    I have searched every where but cannot seem to find anything that could help our situation.
    We are currently running OAS 9.0.4, and have configured to run 8 report engines.
    Can anyone suggest what we can do?
    Here's a typical line of what the request would look like
    wget -q "http://<server>:<port>/reports/rwservlet?SERVER=prod+authid=<authid>+userid=<userid>+report=<report_name>.rdf+DESTYPE=PRINTER+DESNAME=printerX+COPIES=1+<report_params>" -O -
    Thanks in advance

    Hi
    first of all enable tracing for report server by uncommenting the TRACE tag in report server configuration file found in OH/reports/conf.
    As your batch program is sending reprots to printer so make sure that in OH/reports/cache there is any output created or not during that period.
    Before sending to prrinter a copy will be saved in cache folder.
    The errors reported in server trace can guide for further progress.
    Thanks
    Subodh

Maybe you are looking for