Adsense Ad

Monday 12 February 2018

Oracle Forms: Progress Bar Solution - 4

1) create a display_item and give it a static length
that you wish.
2) In the procedure or function where you execute the
main proces that you want the users now that are
running, declare 3 variables as follows:
x number := 225; /* Size of the bar */
z number; /* Size of the step */
c number; /* Counter */

c := 0;
The variable "z" recievs the result of a
SELECT COUNT(*) into z from xxx where xxx; as
follows:

z := x/c;
x := 0;
3) Initialize the bar:

SET_ITEM_PROPERTY('STDTOOLBAR.PROGRESS2',WIDTH,x);
SET_ITEM_PROPERTY('STDTOOLBAR.PROGRESS2' ,VISIBLE,PROPERTY_TRUE);
synchronize;

4) Inside a loop or something put the following line:
The loop could be the main loop or your proces.
x := x + z;

5) Before the loop ends put the following lines:

SET_ITEM_PROPERTY('STDTOOLBAR.PROGRESS2',WIDTH,x);
synchronize;

6) After loop ends write this line:

:STDTOOLBAR.PROGRESS2 := '100%';
synchronize;
set_application_property(cursor_style,'Default');
SET_ITEM_PROPERTY('STDTOOLBAR.PROGRESS2' ,VISIBLE,PROPERTY_FALSE);

7) Separate of this in a WHEN-NEW-FORM-INSTANCE
Trigger put the next line:

SET_ITEM_PROPERTY('STDTOOLBAR.PROGRESS' ,VISIBLE,PROPERTY_FALSE);

8) In a WHEN-BUTTON-PRESSED Trigger put this line:

SET_ITEM_PROPERTY('STDTOOLBAR.PROGRESS' ,VISIBLE,PROPERTY_TRUE);

No comments: