Refresh recordset and Flush recordset actions

In a most Certify process execution, a recordset is read from database into memory one time and then written back to the database at the end of the execution if it is changed.

This is usually desirable except when there are more than one processes running simultaneouly which requires information from the same recordset being updated.

For example, there can be two long running Certify processes; Process A takes, say, 4 hours to run.  Process B might be waiting for Process A to reach a certain point, e.g., 1 hour into the 4 hour run. It is best for Process B to wait an extra 3 hour for Process A to completely finished so that the recordset information can be written back to the database. However, in the event that it is not possible to wait. The user wants to start Process B (on another Certify Client) one hour after Process A ran and Process B needs the latest recordset values at the beginning of the run, there are special recordset actions which can be used.
 
·         Refresh recordset – clears the recordset that is in memory and re-read the original recordset from the database. 
·         Flush recordset – writes the recordset that is in memory (at that moment) to the database.
 
This allows Process A to call “flush recordset” at the 1 hour mark and continue running.  Process B would also be calling “refresh recordset” until the desired data shows up, then Process B could move forward.
 
Note: It is very uncommon for a user to use refresh recordset action, because any use of “refresh recordset” throws away clears the recordset in memory and loads it from the database.