Hello,
at our client we create a high volume of sales/purchase (+10k/hr sometimes) order pairs using a batch job running with 8 threads on four AOSes.
Not all the time, but occasionally we see this error (either purchLine or salesLine) :
Cannot create a record in Order lines (SalesLine). Sales order: SO000012477, DTNPROC. The record already exists. Our orders have mostly one line, sometimes a few more.
We believe that this is an error with the TransIdIdx and the InventTransId. Two processes creating two different orders at pretty much the same time and one of them is failing
because the inventTransId has already been used. If we reprocess one of these failed transactions (creation of order pair in a tts), they work, so I don't think there's a problem with the
data that we use.
Is this even possible ? Has someone seen something like this before ? Can two processes pull the same number from a numbersequence if they do that at pretty much the same
time ? This is really high volume, processing data and creating order pairs as fast as D365 can.
We are not manually pulling the inventTransId from the number sequence, this happens with the insert.
Best regards
Frank
Good morning Frank,
I noticed a couple of similar issues that have been recorded on LCS.
Please see: fix.lcs.dynamics.com/.../Results
The specific error you mentioned is, however, not listed there (or I overlooked it).
Based on the data volume / speed that you operate at, I would recommend getting the MS support directly involved.
Best regards,
Ludwig
There is not much you can do, check that number seq is no continuous and try to enable pre allocation, this way each session will get a pull of numbers and you will reduce chance of overlap.
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 291,101 Super User 2024 Season 2
Martin Dráb 229,908 Most Valuable Professional
nmaenpaa 101,156