"OpenDocument()" blocked until other report returns

<p>Hello,</p><p> I am making a component in a J2EE application to view Web Intelligence reports. I built it around a sample from BO website, and everything was going just fine, until I faced a strange error. If you could help me with it, I would be very grateful.</p><p> <strong>Error scenario:</strong> I open a report from the application, enter the values for the prompts, and press "Run Query". While waiting for the query to return, I try to open another report through the application, but the report does not open until the first one has returned!</p><p> <strong>Alternate scenarios:</strong> the error does not happen in any alternate scenario. If I open the 2nd report before pressing "Run Query" in the first one, it opens fine. I did not see this error in any scenario other than the one outline above.</p><p> <strong>Implementation Notes:</strong> I wrote my component as to make one log on for the whole application (using one user session until it expires, and then logging on again). I guess this has something to do with my error.</p><p> <strong>My analysis:</strong> I didn&#39;t try to debug in it, but it seems to me that the method "ReportEngine.openDocument(int)" blocks until the first report returns. It seems that this is somehow related to having one user session, as I tried to make a similar scenario, but opening the 2nd report from the InfoView, effectively making it from another session (but using the same user). The report opened from the InfoView fine. I tried to open two reports from the InfoView, but I noticed that right-click was disabled. I had to open a new window and make a new logon to open another report, which made me think this is probably my problem.</p><p> <strong>My suggestions:</strong> If my analysis is correct, then I need to make a separate logon session with BO for every user of my application. In the extreme case, I would have to make a separate logon session for every report opened through my application. I would need that latter case if I&#39;m going to allow the user to simply open two reports in two windows (e.g. by right-clicking a link and choosing "Open in new window").</p><p> I wonder whether my analysis is correct, and if so, whether my suggested solution is the one I should do.</p><p> Could you please help me with this issue? I&#39;d be really thankful.</p><p> Good luck everyone.</p>

When I have been experiencing the problem I have described, there have always been at least three reports being called within a second of each other, many cases five or more within a second.
Knowing that there is a limit of three concurrent jobs could explain why a report would not run, however should a report job never return if it is there is no license available? At worst I'd expect it to throw an error, which is handled and logged.
We are now trying to invoke the thread slightly different to allow only one report to run at a time. So far it seems fairly lousy for performance, but I haven't seen that lockup yet.
I'm going to look into using ReportDocument.GetConcurrentUsage() also, however the problem with that is a deployment issue. We have hundreds of report dll's that would need to be changed - then we would have to get the people in the field to update to the new reports. I'd rather fix it at the application level as we have much greater control of the updating of the application.

Similar Messages

  • Tax Report Returns No Data [Message 131-85]

    Our client has been using SBO for the past few years and run the Standard Tax Report.
    They follow a standard procedure whereby they open the Tax Report enter the period details and click OK, the report returns all Input and Output Tax details.
    This month they have run the report and no matter what dates you enter the report returns No Date [Message 131-85]
    Does anyone have any clues as to what might be causing this?

    I have discovered via a SQL trace that the following script is tun for the tax report
    exec sp_executesql N'
    SELECT      T0.[AbsEntry],
         T0.[Code],
         MIN(T0.[Name]),
         T0.[SrcObjType],
         T0.[DocNum],
         MIN(T0.[Category]),
         MIN(T0.[IsEC]),
         T0.[IsAcq],
         MIN(T0.[VatPercent]),
         MIN(T0.[EqPercent]),
         T0.[DocDate],
         MIN(T0.[TaxDate]),
         MIN(T0.[CANCELED]),
         SUM(T0.[BaseSum]),
         SUM(T0.[VatSum]),
         SUM(T0.[EqSum]),
         SUM(T0.[DeductSum] - T0.[EqSum]),
         MIN(T0.[SrcObjAbs]),
         N''0'',
         0,
         0,
         MIN(T0.[DocDate]),
         0,
         0,
         MIN(T0.[NumAtCard]),
         SUM(T0.[BaseSumSc]),
         SUM(T0.[VatSumSc]),
         SUM(T0.[EqSumSC]),
         SUM(T0.[DedctSumSC] - T0.[EqSumSC]),
         MIN(T0.[TaxType]),
         T0.[CrditDebit],
         MIN(T0.[CardCode]),
         MIN(T0.[CardName]),
         MIN(T0.[SrcLineNum]),
         MIN(T0.[VatDate]),
         MIN(T0.[VatIdUnCmp]),
         MIN(T0.[LicTradNum]),
         MIN(T0.[BPLicTradNum]),
         MIN(T0.[AddID]),
         SUM(T0.[BaseSum])
         FROM  [dbo].[B1_VatView] T0 
         WHERE (T0.[Code] = (@P1)  OR       
         T0.[Code] = (@P2)  OR 
         T0.[Code] = (@P3)  OR 
         T0.[Code] = (@P4)  OR 
         T0.[Code] = (@P5)  OR 
         T0.[Code] = (@P6)  OR 
         T0.[Code] = (@P7)  OR 
         T0.[Code] = (@P8)  OR 
         T0.[Code] = (@P9)  OR 
         T0.[Code] = (@P10)  OR 
         T0.[Code] = (@P11)  OR 
         T0.[Code] = (@P12) ) AND 
         T0.[DocDate] >= (@P13)  AND 
         T0.[DocDate] <= (@P14)  
         GROUP BY T0.[AbsEntry], T0.[Code], T0.[SrcObjType], T0.[DocNum], T0.[IsAcq], T0.[DocDate], T0.[CrditDebit]
         ORDER BY T0.[IsAcq] DESC,T0.[CrditDebit]',N'@P1 nvarchar(30),@P2 nvarchar(30),@P3 nvarchar(30),@P4 nvarchar(30),@P5 nvarchar(30),@P6 nvarchar(30),@P7 nvarchar(30),@P8 nvarchar(30),@P9 nvarchar(30),@P10 nvarchar(30),@P11 nvarchar(30),@P12 nvarchar(30),@P13 datetime2,@P14 datetime2',N'SEXP',N'SFRE',N'SGST',N'SNT',N'PCAF',N'PCAP',N'PFRE',N'PGNR',N'PGST',N'PGSTV',N'PNT',N'PPRI','2010-03-01 00:00:00','2010-03-31 00:00:00'
    If I run this in SQL I get the following error, which mat shed some light on what is happening
    Msg 2715, Level 16, State 3, Line 1
    Column, parameter, or variable #13: Cannot find data type datetime2.
    Parameter or variable '@P13' has an invalid data type.
    Msg 2715, Level 16, State 3, Line 1
    Column, parameter, or variable #14: Cannot find data type datetime2.
    Parameter or variable '@P14' has an invalid data type.

  • Report returns wrong data when run on server

    Hi,
    I'm runing CRS XI R2 on Windows Server 2003 SP2.  When I refresh a report in the Crystal Reports XI Designer, I'm getting correct data.  But when I schedule the report to run on the server it returns wrong data.  The data is different from what I see when I refresh it from the designer.  In the report I have running totals set up to count customers that meet a certain criteria.  The report is very large.  It take almost 2 hours to refresh.
    I was wondering what is causing the difference in running total data between refreshing it on the designer and running it on the server.  Is it returning wrong data b/c of it not reading all the records?  Should I be making any changes to the server settings?  I saw that under pageserver, there are options for  setting the 'Minutes Before an Idle Report Job is Closed' and 'Database Records To Read When Previewing Or Refreshing a Report".  Do either of those have anything to do with the report returning incorrect data when being scheduled to run on the server?
    Thanks,
    Kim

    Hi Xuandao,
    You would need to Use Cell Binding and Trigger concept to accomplish this.
    Its simple, however, you would have to work on a trial and error basis to understand this concept as implementing the same is subject to your dashboard and WEBI Design.
    Open you LiveOffice.
    Insert your WEBI, Now, go to Object Properties of your WEBI, select the second tab that says Prompt, Here, it lists the prompts that you have for your WEBI. This would also enlist your BEx variables as well. Select this BEx variable and click on the button that says Prompt at the bottom of this window. Here, select choose Excel Data Range and click on the cell select button on the right (small button that lets you choose what cell you want to bind this prompt to), Now select a free cell that would not be even populated later on when you run the dashboard say A1 (remember the value that you select). Click on OK and again OK. The WEBI Refreshes and you can see all the prompt values at the cell A1. These are all the possible values stored for your BEx prompt variables (these values are fetched from BW system dynamically).
    Now, save this LiveOffice, Go to you dashboard. Connect your dashboard to your Live office. Go to Data-> connections-> Now, select the WEBI and in the right hand pane  go to Usage tab, here, Click on Trigger cell button on the right hand side and select A1 in you LiveOffice.
    It should work fine.
    Let me know.
    Rgds,
    Sreekul Nair

  • Crystal Report Hyperlink to Sub-report or other report

    Hi,
    I would like to create a report on which the first part will show project summary page. The second part will have all project detail pages and third part with all project financial informations.
    The report should work in such a way whenever user clicks on any project at first summary page this has to jump to corresponding detail page of projects.
    I have the following question regarding design of this report.
    1. Do I need to create a saparate report as a sub report and then merge with main report in a footer section? Or is it ok to create sub-report within main report through sub-report wizard option?
    2. How can I establish hyperlink between the pages i.e. summary to detail pages?
    3. back hyperlink to first pages.
    I am expecting more information about hyperlink options within Crystal report.
    Thanks
    -Sunil Prasad

    Hi Sunil
    - For your first question: . Do I need to create a saparate report as a sub report and then merge with main report in a footer section? Or is it ok to create sub-report within main report through sub-report wizard option?
    You can create a separate report and then insert it as a subreport in the main report or create it with sub report wizard.
    Once you click on Insert -> Subreport, you can see there are two options, one is to point to an existing report and another is to create it through wizard.
    - 2. How can I establish hyperlink between the pages i.e. summary to detail pages?
    You can use the hyperlink between report objects.  Also you can apply a customized formula for this.
    Check the below SAP Notes:
    [1. 1207011 - How to create an OpenDocument link in Crystal Reports XI/XIR2 |http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_erq/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes]
    [2. 1212849 - How to pass a parameter value through a hyperlink from one report to another |http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_erq/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes.do]
    For detailed information on Hyperlink Click on Crystal Reports Help Help -> Search for the keyword Hyperlink.
    You can also refer to the Crystal Reports User guide for the respective version that you are using.
    Hope this helps!!
    Regards
    Sourashree

  • Block/unblock customer report

    hi all,
    plz solve my problm in block/unblock customer reports.
    thanks

    Hi Rajiv,
    Is it that you want to knwo how to Block and unblock customer if yes the T-Code is VD05.
    Regards
    Suvin

  • Report - Return days since LAST activity

    Hi,
    I need a report that returns "All open SRs with the amount of days since the LAST completed activity of type X" (so we can see when the activity needs to happen again)
    I have managed to create a report that brings back "all open SRs with the amount of days since EVERY completed activity of Type X (so if the activity happened 10 times i get the report returning the SR 10 times).
    I was hoping i could use something like a min function in a pivot table to just return the days since the LAST one but am getting nowhere.
    Any ideas?!?!?!
    Thanks in advance
    Rich

    Hi Guys,
    I'm doing a similar report also.
    I have a analysis based on Activities that returns a list of service requests.
    I have inserted a column with a timediff function to tell me how many days old the activity is. e.g.:
    SR 1, act1, 2 days old
    SR 1, act2, 4 days old
    SR 2, act1, 6 days old
    SR 3, act1, 3 days old
    SR 3, act2, 9 days old
    Using a pivot table i display only the first activity for each SR.
    SR 1, act1, 2 days old
    SR 2, act1, 6 days old
    SR 3, act1, 3 days old
    However i now want to be able to sort the pivot table in descending order of the Day Old column.
    Unfortunately i can't get this to work.
    Any idea's?

  • Displaying 3 blocks in a report

    hi
       please tell me how can i display  3 blocks in a report by using reuse_alv_list_display.
    thanks & regards
    sekhar rao

    Hi Sekhar ,
    You can use Functin module 'REUSE_ALV_BLOCK_LIST_DISPLAY".
    With the help of these you can display more than one block at a time...
    Hope this helps you..
    Thanx,
    Navin...!

  • [FPGA] Loop rate very slow: Do FPGA I/O nodes in parallel loops block each other?

    Hi,
    I am using cRIO-9075. Mod1 is NI 9263, Mod2 is NI 9227, Mod3 is 9215.
    Please see my VI attached or the given screenshot.
    The FPGA code is based on the "NI CompactRIO Waveform Reference Library" (it's the lower loop).
    The upper loop was added by me and is writing a waveform from blockmemory to the NI 9263 module (Mod 1).
    The data sampled in the lower loop is running at 1 kHz. The control "AO Update Period" for the upper loop has a value of (for example) 10 (=uS).
    The problem is, that this loop is running much much slower than it should. Once I disable the FPGA I/O node in the lower loop (as done in the attachments), it's running as fast as it should.
    It seems to me, that the FPGA I/O nodes are blocking each other. I tried to figure it out by reading through serveral NI documents, but until now I have no idea how to solve that.
    Can you give me some advices? Some general tipps about the VI?
    Thanks!
    Attachments:
    FPGA Loop Rate.PNG ‏72 KB
    FPGA Main.vi ‏251 KB

    Hi, thanks so far.
    Originally the control was inside the loop. Then I tried if it makes a difference if it's outside.
    Ok, i really seems to be that default value of "100000" for "AO Update Period".
    Starting the VI directly woks like expected. Having "AO Update period" inside the loop makes it possible to control it as it's running.
    But, please see the attachment. When starting the FPGA through RT and setting the appropiate value, it does not seem to work. The oscilloscope show's the same behavior like "AO Update Period" was 100000.
    But when reading the value of "AO Update Period" afterwards (while the FPGA is running), it shows the expected value of "10".
    Having changed the default value to 10 works so far, but I am not able to changed it (see attachment).
    So the problem is: Why is "Read/Write control" not working here? Why is still the default value used?
    Attachments:
    FPGA Loop Rate 2.PNG ‏5 KB

  • How to use a report as input of other report?

    Hi,
    I'm using web intelligence and I'm trying to use the data of one report as entry of other report, the second report will have other filters and other columns. Is that possible? How can I do it?
    Thank you,
    Marcela

    You can use OpenDocument, URL reporting.
    e.g.
    ="<a href="http://ven-ffelt35:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sDocName=WebiStoreName&lsSStore+name:="+[Store name]+"">"+[Store name]+"</a>
    You will pass the data from one field as a parameter to a second report. Please have a look at the documentation. If you have any questions, just post them on the forum
    [BusinessObjects Enterprise XI Release 2; How to use the openDocument URL command|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/800f7400-bf3e-2b10-fa81-c6c74f457ab4]

  • Sometimes report return rows sometimes not

    Hello everybody,
    well, I'm using apex 4.0.2 and I have a simple report returning values from my table, like this:
    SELECT '1',
    SYSDATE
    FROM DUAL;
    But, if I refresh the page with the key F5 or mannually the report doesn't return any rows. If I refresh the page again, after five moments the report normally return the rows.
    This is a bug of the Apex? Because if I put the same code in the SQLPLUS the problem desappears. I don't know how can I resolve this. Thank you in advice.
    At.
    Raul Welter

    Hello everybody,
    well, I'm using apex 4.0.2 and I have a simple report returning values from my table, like this:
    SELECT '1',
    SYSDATE
    FROM DUAL;
    But, if I refresh the page with the key F5 or mannually the report doesn't return any rows. If I refresh the page again, after five moments the report normally return the rows.
    This is a bug of the Apex? Because if I put the same code in the SQLPLUS the problem desappears. I don't know how can I resolve this. Thank you in advice.
    At.
    Raul Welter

  • Process exec() blocking until program terminates.

    My basic problem is that I am running a second application (someone elses .exe file) that just outputs broadcast messages it receives, line by line. The program is supposed to run indefinitely, and my app is supposed to parse each line that comes through....The issue I've encountered is that the Buffer seems to block until I close the Java App (which then terminates the exe process as well) and then the Buffer clears out on to the screen. The craziest part of this all, is that I had this working perfectly, and I have no idea what code modification I made that unveiled this issue. Here is the code in quesiton....
    Thanks.
    -avidan
    try {  
         // Start up the stdout application written by DSS. This application is constantly outputting text.....
         String cmdline = "C:\\Program Files\\TheProgram\\ConstantlyOutputing.exe";
         Process DSSProcess = Runtime.getRuntime().exec(cmdline);
         System.out.println("Started DSS App....");     
         // the bufferedreader that processes the DSS application output
         BufferedReader in = new BufferedReader(new InputStreamReader(DSSProcess.getInputStream()));
         // while there is output from the DSS application
         while( (DSSinput = in.readLine()) != null)
         System.out.println("Output: " + DSSinput);
         } // end of for loop for while (in.readline)
         DSSProcess.waitFor();
         in.close();
    } catch (Exception e) {
         System.out.println(e.toString());          
    } //end catch     

    actually. a side problem now occurs. because the
    readLine causes the thread to block, i am unable to
    continue execution on my other threads...do you have
    any ideas Yes, you have to create a new thread, something like this:
    class MyThreadToStartProcessReadInputAndWaitEndOfProcess extends Thread {
    public void run() {
    try {
    // Start up the stdout application written by DSS. This application is constantly outputting text.....
    String cmdline = "C:\\Program Files\\TheProgram\\ConstantlyOutputing.exe";
    Process DSSProcess = Runtime.getRuntime().exec(cmdline);
    } catch (Exception e) {
    System.out.println(e.toString());
    } //end catch
    MyThreadToStartProcessReadInputAndWaitEndOfProcess t = new MyThreadToStartProcessReadInputAndWaitEndOfProcess ();
    t.start();
    ...[next operations]
    (dont worry, ill give you all the duke
    dollars anyway)...Oh yes ! ;-)
    Xavier

  • Sales Order Blocked Release History Report

    Dear Guru,
    I want a Sales order block release history report as in who released order.
    Regards,
    shahzad

    Hi..
    There is no std report for this.
    But you can have customized report for this using tables CDPOS & CDHDR (FOR history)
    Regds
    MM

  • Does SelectableChannel.register block until Selector.select completes

    Hey all,
    Quick question. If I have 2 threads and I am trying to register a SocketChannel with a selector from one, and the other is currently in a selection operation. Does the registering operation block until the select operation finishes?
    i.e. The below appears to block indefinitely. Is this behavior avoidable, or do I need to force a selector wake-up to finish registering?
    public class RegisterLock {
         * @param args
        public static void main(String[] args) throws Exception {
            ServerSocketBinder binder = new ServerSocketBinder(false);
            final ServerSocket server = binder.acquireServerSocket();
            final ServerSocketChannel serverSocket = binder.acquireServerSocketChannel();
            serverSocket.configureBlocking(false);
            final Selector sel = Selector.open();
            serverSocket.register(sel, SelectionKey.OP_ACCEPT);
            Thread t = new Thread(new Runnable() {
                public void run() {
                    try {
                        Thread.sleep(5000);
                    } catch (InterruptedException e) { }
                    try {
                        SocketChannel socket = SocketChannel.open();
                        socket.configureBlocking(false);
                        socket.connect(new InetSocketAddress(server.getInetAddress(), server.getLocalPort()));
                        System.out.println("Registering socket with selector...");
                        socket.register(sel, SelectionKey.OP_CONNECT);
                        System.out.println("Successfully registered socket with selector.");
                        System.exit(0);
                    } catch (IOException e) { }
            t.start();
            System.out.println("Beginning select operation");
            sel.select();
    }

    Yes. Both operations synchronize on the same data structure. There are three answers:
    (a) selector.wakeup() before registering. Ensure your select() loop copes correctly with a selection result of zero, i.e. just does background operations and continues, doesn't treat it as a failure
    (b) Use a short selection timeout. Same remarks apply
    (c) use a queue of pending registrations and do all registration operations in the select() loop/thread.

  • I have a scenario like i have two blocks in my report

    I have a scenario like i have two blocks in my report.In Block 1 I have drill on Region.
    Block 1:
    Region Revenue
    APAC 2000000$
    EU 1200000$
    NA 1500000$
    Block2:
    Country Revenue
    India 6000$
    China 4000$
    USA 8000$
    Germany 6000$
    Now my requirement is when ever user click on on any region in block1
    corresponding countries should appear in Block2.
    SCN Moderator: Title was too long (maxed out: no replies possible)

    You can use Element link to have the desired results:
    Here is the initial layout:
    After applying Element Link, if you click on California, you will see this:
    If you click on Colorado, you will see this:
    Hope this helps.

  • Block until repaint() completes ?

    I am currently writing an applet targetted towards Java 1.1.8.
    I am experiencing some display problems where VM does not redraw the screen promptly e.g. under heavy loads, or when running on a slow machine.
    My 'engine' works as follows. A Timer wakes the engine every x ms which then redraws all sprites and calls repaint(). However if repaint() does not redraw the screen before the engine runs again, some sprites may have moved twice, or more. This means that the sprite may not be erased completely.
    Is there anyway I can block until I know for sure that the screen has been repainted ?

    My 'engine' works as follows. A Timer wakes the engine
    every x ms which then redraws all sprites and calls
    repaint(). However if repaint() does not redraw the
    screen before the engine runs again, some sprites may
    have moved twice, or more. This means that the sprite
    may not be erased completely.I modified my code so that sprites are updated only when called from repaint()->update().
    This fixed the problem.

Maybe you are looking for

  • Re: P.O. print out not showing excise.

    Hi guru's, After generating a P.O. then while taking a print priview of it, it is found that the excise & cess is not getting printed on it. But while tested for the same material in dev ser every thing is alright. what changes are to be made in prod

  • News MacBook Pro 2011 screen yellow

    I have a MacBook Pro 13 i7 processor and the screen yellow Does anyone know about this problem and have advice that would save me a trip to the Apple store? thanks!

  • AppWorld will not launch after upgrade but appears to be runing constantly.

    I upgraded Blackerry AppWorld and since cannot open it. The icon is there. I've uninstalled it and reinstalled it. I've taken battery out and rebooted - none of which have helped. Can't find an answer to this problem here.

  • 11g OCP new features exam still on 11gR1 or it's including the 11gR2?

    Hello, 1 -I am asking about the 11g OCP new features exam (     1Z0_050 ) if it still on 11g release 1 or it's also including 11g release 2 new features? 2- In the case it's only including the release 1, when do you think the exam will be changed and

  • Sales Order printing on two pages

    Hi Gurus, Our SAP just got upgraded to 8.81 PL07 and since then we are facing printing problems. The thing is all the sales orders and invoices are printing on two pages (when only one page is required); the second page having only the page header. M