error code 10509 Check error. The check digit read in the data is in MSD axapta

You will run into this problem with entire table cached table is used in highly transactional scenarios. Entire Table Cache should be used only for static data which are updated rarely. An example would be a list of states.

The entire table cache operates by offloading the entire table's data onto AOS to provide faster look ups. Whenever the data changes, the entire cache is flushed and the next read operation offloads the entire table again. This is performance intensive and not recommended for transactional tables.

When this error happens, it means that some other process update the data in the entire table cache while it was being used by your process. To fix this problem,
1. If it is a high transaction table, do not use entire table cache. Use Found ; Empty instead.

2. If this is not a high transaction table but gets significant

insert/update/delete during one specific process, disable cache in that process by setting .disableCache(true)