• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1376
  • Last Modified:

Busy Cursor while report is generating

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
jim_1234567890
Asked:
jim_1234567890
  • 3
  • 2
1 Solution
 
sathyagiriCommented:
How do you generate your report? Do you call a report builder fn or a stored proc?
0
 
jwahlCommented:
maybe it helps when setting it manually:

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

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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
sathyagiriCommented:
Change ASYNCHRONOUS to SYNCHRONOUS
Use this
RUN_PRODUCT(REPORTS, outFileName, SYNCHRONOUS, RUNTIME, FILESYSTEM, inPrmList, NULL);
0
 
sathyagiriCommented:
If you run it in SYNCHRONOUS control will be returned only after the report generation is completed.
0
 
jim_1234567890Author Commented:
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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now