jtrifts
asked on
Delayed CLEAR_BLOCK behaviour
Hi all,
Am having a strange forms behaviour that I'd appreciate some suggestions for.
Background:
Forms 6i, Oracle 8.1.7, Client-Server (UNix Server, Win2000 client)
I have two blocks, a search block (non-base table) and a results block (populated via dynamic WHERE clause).
The search is performed by entering search criteria and pressing the search button.
In the When-Button-Pressed trigger, the where clause is built, and the query executed. The query works fine.
However if I have returned records in one query, and then perform another search and the query returns no data, we print an information message.
The problem is, that the CLEAR_BLOCK issued in the WBP doesn't seem to take effect (i.e. screen refresh) until after the message has been dismissed.
i.e.
1. query once
2. data returned
3. query again with bad data (so no records found)
4. get information message
5. block is cleared.
Step 5 here should be taking effect before step 4. The only way this seems to actually happen is if a PAUSE; is issued prior to the message.
We've tried:
CLEAR_BLOCK;
CLEAR_BLOCK (NO_VALIDATE);
Adding GO_BLOCKs and GO_ITEMs.
POST; (its query only though, so this was useless).
EXECUTION STYLE changes
(We even have Pre-WBP functionality in our system, and this does not help either...)
Is there some sort of Oracle processing going on here that prevents screen refresh until the completion of the WBP trigger code?
Can you suggest ways of over-riding it?
Regards,
JT
PS This may not really be a hard question...but as I have the points...
Am having a strange forms behaviour that I'd appreciate some suggestions for.
Background:
Forms 6i, Oracle 8.1.7, Client-Server (UNix Server, Win2000 client)
I have two blocks, a search block (non-base table) and a results block (populated via dynamic WHERE clause).
The search is performed by entering search criteria and pressing the search button.
In the When-Button-Pressed trigger, the where clause is built, and the query executed. The query works fine.
However if I have returned records in one query, and then perform another search and the query returns no data, we print an information message.
The problem is, that the CLEAR_BLOCK issued in the WBP doesn't seem to take effect (i.e. screen refresh) until after the message has been dismissed.
i.e.
1. query once
2. data returned
3. query again with bad data (so no records found)
4. get information message
5. block is cleared.
Step 5 here should be taking effect before step 4. The only way this seems to actually happen is if a PAUSE; is issued prior to the message.
We've tried:
CLEAR_BLOCK;
CLEAR_BLOCK (NO_VALIDATE);
Adding GO_BLOCKs and GO_ITEMs.
POST; (its query only though, so this was useless).
EXECUTION STYLE changes
(We even have Pre-WBP functionality in our system, and this does not help either...)
Is there some sort of Oracle processing going on here that prevents screen refresh until the completion of the WBP trigger code?
Can you suggest ways of over-riding it?
Regards,
JT
PS This may not really be a hard question...but as I have the points...
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
It works a treat.
Thanks for your prompt and accurate answer.
Regards,
JT