If READ UPDATE is not used, an error can occur because VSAM allows a record to be read by one transaction while another transaction is updating it.
If the first transaction were to take some action based on the value of the record, the action would probably be erroneous.
For example, in inventory control, a warehouse has 150 items in stock. 100 items are sold to a customer, who is promised delivery within 24 hours. The invoice is prepared, and this causes a transaction to be invoked that is designed to read the inventory record from a VSAM data set and update it accordingly.
In the meantime, a second customer also asks for 100 items. The salesperson uses a terminal to inquire on the number currently in stock. The "inquire" transaction reads the record that has been read for update but not yet rewritten, and returns the information that there are 150 items. This customer, too, is promised delivery within 24 hours.
Errors of this kind are prevented by the use of READ UPDATE.