I did meet this error for the first time several years ago. Today some of my colleagues saw the message for the first time and did not know what to do about it.
Internal Error 1247 in module 19 is equal to #Err_DB_NewWTAMissing DB_Err(1247), where WTA is short for Write TransAction.
This error can occur if two or more users run into a deadlock. The first user, that run into the deadlock will recieve this message and will, by clicking ok to the window message, cancel his transaction (The Navision Client will Crash). The second user will thereby not notice there has been a deadlock and will therefor continue his transaction.
This again means, that it will be difficult to find the area where the deadlock has occured.
So what to do? If you can recreate the deadlock – then its great, because this mean that you can do something against it
All you have to do – is looking through the code and remove possible deadlock situations.
One way to do, this could be using the Client Monitor, it can predict possible deadlocks in the C/AL code.
A second way, if you are using sql, would be using the sql profiler. It can log your steps, which could help you pin point where there might be a issue.
If you have pin pointed the area where the deadlocks can occur, that you have to go through you code. A good idea could also be to optimize indexes and sift’s on the tables.
Good luck with your deadlock search!