
SELECT on buffered tables
Although it this method is not SELECT based, you can loop through all the
open tables in the datasession that are buffered, then use GETNEXTMODIFIED()
to position yourself on the modified record, then you can do whatever you
want with it at that time. That could include: 1) building a temporary table
of changes (simulating your output cursor of a SELECT); 2) enacting business
rules; 3) etc.
DECLARE laUsed[1]
lnTblCount = AUSED(laUsed, lnDataSession) && Get the number of
tables currently open
FOR lnXX = 1 TO lnTblCount
IF CURSORGETPROP("Buffering", laUsed[lnXX, 1]) > 1
SELECT (laUsed[lnXX,1])
lnNextModified = GETNEXTMODIFIED(0, laUsed[lnXX, 1])
DO WHILE lnNextModified # 0
GO lnNextModified && Go
to the actual modified row, then do something with it...
*/ Try to get the next modified record so it can be processed
within this DO/ENDDO loop
lnNextModified = GETNEXTMODIFIED(lnNextModified, laUsed[lnXX,
1])
ENDDO
ENDIF
ENDFOR
HTH,
Jeff