On a cloud install is there any way to see who currently has unsaved changes in a sales order?

We are on a public cloud instance Kinetic 2021. We run into an issue a lot where 2 people end up in the same order and then get the standard “Row has been modified by another user”. While this is expected I was wondering if there was a way to essentially notify the user through a popup or something when they load the record that someone currently has unsaved data? Someone else at our company also create a dashboard with an updatable BAQ for updating sales orders and often times two people will be in that and both update data and get the message above. I saw some brief stuff on comparing guids but I think that table isn’t available for the cloud. Is there maybe a flag on the order that indicates the row is dirty. Any guidance on best practice is appreciated. Thanks.

Is sysrowid available in a BAQ?

SysRowID is available. How would I use that in this context? What value would I be comparing it against? Thanks!

SysRowID is identifies the row in the table. Knowing it would only tell you if it exists.

SysRowRev (might be SysRevID???)indicates the revision of that row. This is what is used to indicate that someone else has updated the data since your session fetched it. When your client’s session requests the OrderDtl lines, it includes the SysRowRev. Then when you go to save changes, the client sends the records along with the SysRowRev to the App Server. Before updating the DB, the appserver checks the SysRowRev in the DB against the data you sent. If they are the same, then the DB is updated with your data, and the SysRowRev is increased.

If someone else had updated the DB before your save, the App server would see that your data is from a prior read of the DB as your SysRowRev is older than what is currently in the DB.

Having said all that … you can’t really use this like you want. You would need to set a flag in a UD table every time another client session reads that row for order entry. This gets tricky as you need to know whether the read was for Order entry (as in it can be changed), or a tracker or BAQ (where it couldn’t)

2 Likes

I second what Calvin says