User Getting "Row has been modified by another user and couldn’t be updated." On Create Order

I have a user who is telling me he is getting this order “sometimes” when he presses the created order button on order wizard. Here is the thing, it is intermitted so I have not been able to repeat. Also it appears as though it is causing a standard data directive I made on the orderhed not to fire. This BPM is an alert to send an email if and order line is $0 or order total is above $5000. This BPM may not be perfect but it does appear to work as intended 99% of the time.

I am wondering if anyone has any ideas to narrow down this issue. Maybe a tracelog or something I can look at? But I don’t know how to get one for a user that is not myself that this issue may not happen for days or weeks at a time. I also can post the BPM if that would help.

Any feedback or clues would be appreciated.

I would assume it is the DD causing the issue and add some WriteEntry lines if it is custom code. Those go the the App Server Event Viewer.

Also try to run the email async, so even if it fails the write happens properly.

You’ve probably already attempted this, but we’ve had a similar issue with just 1 user. Clearing browser (and smart client if necessary) cache seemed to have helped.

We are public cloud, not sure if I have access to the app server event viewer. No custom code in the BPM, just normal widgets.

First thing I did was have the user clear cache. Not sure if this will help or not. I am only aware of one user having the issue so far but it may be more than one.

I tested this BPM pretty good and it’s been running for a few months now with just this one problem that I know of.

I see you can turn on tracelog for a specific user in the user account maintenance. If I leave this on for a user will it slow them down? I assume if left on a while the tracelog file could get really big, will this negatively impact performance?

Just a random guess, but is it possible that this occurs only when two people are creating an order at the same time?
Perhaps it saves Order #0 and then updates it later. When another user does this at the same time, they update the order before the other user does and so this causes the error?

This is just a guess, not based on any knowledge.

This was my first thought since I have seen that error if I am putting methods and materials on a quote and someone in sales is editing something. However in this specific case there should not have been 2 users in that quote/order at the same time (and the users were all adamant that they weren’t). Not to say it’s impossible but it wouldn’t make a lot of sense in this case.

I am wondering if this could be caused by packet loss, by a license session expiring/renewing, something like this?

Okay… I just figured since when you create a new order, I feel like the order saves in the DB as Order “0” and as you save it, it will update that entry with a new order number.
However, if someone creates a new order between you creating and saving your order (and they either save it or they don’t), it will modify Order Number “0”'s fields which interferes with creating that new order and instead flags Order “0” as updated and rejects it.

Although when creating an order, I am not able to find Order 0 in a BAQ that specifically searches for it.

The user is saying that instead of the popup box saying “Order XXXX has been created.” they get the “row has been updated” error instead. The order is still made though. Since the BPM is standard data directive I thought it only read an already created record, maybe that’s wrong?

I attached the bpm here in case anyone wanted to take a look. Originally the logic was to send emails to different people depending on threshold, which is why there are 2 values. They ended up both going to same people but I left the logic in incase it changes in the future.
orderhed_datadirective.bpm (45.4 KB)

How did you determine it was that BPM specifically? Seems like it could be any BPM on Order.Update if its happening when the order is created.

I know I previously had problems with this exact error message on a BPM I was making on Order.Update. I think I got it resolved, but perhaps I just got it to the point it was intermittent?

All of the other BPMs appear to be still working correctly, this is the only smoking gun I had. Previously when another BPM was not working it would either not allow the order to be made at all or caused a loop of errors that would be very obvious. Having said that, it could be something else this was just my first approach.

I don’t see any modification to the data in that BPM though, so I’m surprised it would produce that error. Unless the process of printing changes some data (last print date maybe?)