Refresh/update browser without reopening it

-Zigo-

Member
I have a SmartBrowser which uses 4 tables:

FOR EACH ReturnTransaction WHERE ReturnTransaction.ReturnNumber = ReturnHeader.ReturnNumber NO-LOCK,
FIRST product WHERE product.p-code = ReturnTransaction.ProductCode NO-LOCK,
FIRST Reason WHERE Reason.ReasonCode = ReturnTransaction.ReasonCode NO-LOCK


ReturnHeader is an external table; product and Reason are only found to display the Description field from each in the browser. Every other field in the browser is from the ReturnTransaction table.
I have a SmartViewer connected to the browser which allows me to update the ReturnTransaction records.

If I change the product (or Reason) code of a ReturnTransaction record, I need to re-find the associated product or Reason record so that the browser row shows the correct description. This doesn't happen automatically; even a browser REFRESH() doesn't work.

I could re-open the query and jump the cursor in the browser to the record I'm currently on, but it can be confusing if the sort order of the browser is on a field that has just changed, eg. product description (ie. where the record might have been at the top of the list, after a re-open it could be at the bottom).

Instead, I changed the values of the descriptions in the browser with use of SCREEN-VALUE IN BROWSE {&BROWSE-NAME} which works fine.

However, this gives me a problem elsewhere. If I try to add a new record then cancel it, the browser performs a GET CURRENT command to show the previous record. This results in the error "Warning: A buffer in query br_table contains a different record than the current query result list entry. (4108)"

So...is it possible to refresh the contents of the browser without re-opening it, whilst updating the query buffer so that I don't get the error above?
 
Top