Business management systems have many different functions that operate off of data stored in a database. Changes in employee related data may make prior evaluations of the data, or derived data incorrect. Such prior derived data for example, may be payroll data. A retroactive change in pay rate, or a change in previously entered hours worked may cause a previously run payroll process to be incorrect. Once such a change is encountered, the payroll process must be re-run, and appropriate changes to compensation should be performed, such as providing back pay and recalculating appropriate withholding for tax purposes. There are many other examples of retroactive changes resulting in new evaluations being performed. Payroll is just one example of a periodic process that is run and could have prior results invalidated by such a retroactive change to the underlying data. Other examples include marketing and sales evaluations, tax evaluations, and many others.
Currently, new evaluations may be initiated when a user or operator becomes aware of retroactive changes. Potential access problems may occur in transactional multi-user environments. The consistency of data may be problematic. If a change occurs in the data during an evaluation time span, there may be inconsistencies between data read at different times during the evaluation. This can result in a failure. Uncommitted data may be read, leading to incorrect evaluation results should the data not be finally committed.
Locking of data during a process is provided at a coarse level to prevent another process from changing the data. However, such locking can result in slowing down a larger system where other components may need access to the locked data. Such coarse locks tie up larger amounts of data than needed by the current component performing evaluations, resulting in other processes not being able to perform work on locked data that may not be needed by the current process.
Evaluation results should be correct with respect to existing data. Otherwise, wrong results may be obtained. The system may be unreliable, and customers may be dissatisfied.