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.