Patent ID: 7933881

Claim:
A method of concurrency control within an enterprise resource planning system comprising a database adapted to maintain data within a table having a plurality of rows, the method comprising: receiving a write request from a requesting application for updating data within a row of a first table during a first data transaction, wherein the row comprises a first version identification uniquely identifying a version of the data being updated and wherein the write request is maintained with a try block; comparing the first version identification of the data being updated with a second version identification uniquely identifying a version of the data within the row when the data was fetched in response to a previous read request during the first data transaction; throwing an exception within the try block indicating an update conflict if the first version identification does not match the second version identification, wherein the exception is caught within a catch block of the try block using a structured exception handling construct, wherein the first table is specified in the structured exception handling construct and wherein the catch block is executed only when the update conflict happens on the first table specified in the structured exception handling construct; and handling the exception within the first data transaction to attempt to compensate for the update conflict without automatically rolling back or aborting the data transaction if the table is enabled for optimistic concurrency control, wherein handling the exception comprises rereading and retrying the data transaction within the catch block of the try block.