Solved

Busy Cursor while report is generating

Posted on 2006-07-12
6
1,359 Views
Last Modified: 2007-11-27
Using Oracle forms and reports 6i on a Windows XP workstation I wanted to have the Forms display the hour glass (busy cursor) while the report is being generated.

Right now there a few report that that a bit of time to execute.  IE the user presses the button and the report comes back 5-10 seconds later.

The issue is that the user presses the button the icon switch to the hour glass for a second and then control is returned the forms.  5-10 seconds later the report is produced in the background or pops to the front.  The typical user request the report and the since it does not come up instantly and the cursor is not showing as busy they press the button again, and again, and again, and again.....

When the user presses the button to request the report I would like to be able to display the hour glass until the report has been fully generated.

I would tend to think that Oracle Forms would have to monitor the system and watch for the report to be generated.  Maybe there is a better way?

Is it even possible and what would you do (coding would be useful).

Thanks.

0
Comment
Question by:jim_1234567890
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
6 Comments
 
LVL 14

Expert Comment

by:sathyagiri
ID: 17093710
How do you generate your report? Do you call a report builder fn or a stored proc?
0
 
LVL 12

Expert Comment

by:jwahl
ID: 17094283
maybe it helps when setting it manually:

SET_APPLICATION_PROPERTY(CURSOR_STYLE, 'BUSY');
-- call your report
SET_APPLICATION_PROPERTY(CURSOR_STYLE, 'DEFAULT');
0
 

Author Comment

by:jim_1234567890
ID: 17094655

The
"
 SET_APPLICATION_PROPERTY(CURSOR_STYLE, 'BUSY');
-- call your report
SET_APPLICATION_PROPERTY(CURSOR_STYLE, 'DEFAULT');
"

Method does not do the trick at all.  Currently that is what I have.

Right now we run the reports in a couple of different ways.
One way is through a function call and the other is pretty much direct.  Both have this code at the core:

RUN_PRODUCT(REPORTS, outFileName, SYNCHRONOUS, RUNTIME, FILESYSTEM, inPrmList, NULL);


If I do
 SET_APPLICATION_PROPERTY(CURSOR_STYLE, 'BUSY');
RUN_PRODUCT(REPORTS, outFileName, SYNCHRONOUS, RUNTIME, FILESYSTEM, inPrmList, NULL);
SET_APPLICATION_PROPERTY(CURSOR_STYLE, 'DEFAULT');

OR

SET_APPLICATION_PROPERTY(CURSOR_STYLE, 'BUSY');
RUN_PRODUCT(REPORTS, outFileName, ASYNCHRONOUS, RUNTIME, FILESYSTEM, inPrmList, NULL);
SET_APPLICATION_PROPERTY(CURSOR_STYLE, 'DEFAULT');

The end result is bascilly the same.

The cursor blinks busy.
The report is requested.
The cursor returns to normal.

The user can do interactions with the from.  
The report is being called (the reports run time starts up, etc).

Finally the report is generated and pops to the front.


 But because it can take 5-10 seconds for the report to return the end user does not think the report request has been full filled and they click the buttons again.

I need the cursor to remain busy until the report is 100% finished.



0
Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

 
LVL 14

Expert Comment

by:sathyagiri
ID: 17094794
Change ASYNCHRONOUS to SYNCHRONOUS
Use this
RUN_PRODUCT(REPORTS, outFileName, SYNCHRONOUS, RUNTIME, FILESYSTEM, inPrmList, NULL);
0
 
LVL 14

Accepted Solution

by:
sathyagiri earned 200 total points
ID: 17094889
If you run it in SYNCHRONOUS control will be returned only after the report generation is completed.
0
 

Author Comment

by:jim_1234567890
ID: 17095058
That seem to do.  I am not sure if they will like the fact that Forms appears to lock up until they close the report.
0

Featured Post

Enroll in June's Course of the Month

June's Course of the Month is now available! Every 10 seconds, a consumer gets hit with ransomware. Refresh your knowledge of ransomware best practices by enrolling in this month's complimentary course for Premium Members, Team Accounts, and Qualified Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Why doesn't the Oracle optimizer use my index? Querying too much data Most Oracle developers know that an index is useful when you can use it to restrict your result set to a small number of the total rows in a table. So, the obvious side…
How to Create User-Defined Aggregates in Oracle Before we begin creating these things, what are user-defined aggregates?  They are a feature introduced in Oracle 9i that allows a developer to create his or her own functions like "SUM", "AVG", and…
This video shows syntax for various backup options while discussing how the different basic backup types work.  It explains how to take full backups, incremental level 0 backups, incremental level 1 backups in both differential and cumulative mode a…
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

719 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question