Using checksums in BDEs to prevent data corruption

In integrations, BDEs are used for synchronizing data between the outside world and LN. When modifying data using BDEs, the data is not locked as in a regular LN transaction. Between two subsequent BDE calls (for example a Show to retrieve the data and a Change to modify), the business object data can be modified within LN without invoking the BDE. This can result into data corruption.

A mechanism to prevent this data corruption is to apply checksum checking. The BDE is extended with a checksum attribute for each component. When a Change request is performed, it will be checked if the business data has left the same in the meantime by calculating the checksum. The checksum can be determined by performing the Show method.

If the checksum differs, the integration application can report "Record changed by other user" and perform a new Show to refresh the data. The user can retry then.