fiogf49gjkf0d Actually Mike in a LAN situation the possibilites of this occurring in our workflow system were EXCELLENT, and it caused all sorts of issues. Pessimistic locking doesn't help one bit if the sands underneath your feet have shifted. SLX takes a complete new snapshot of the underlying record just prior to saving your data on the OK button click of a form.....doesn't matter what the data values for the row were 1 - 5 hours ago when you opened up the form and then wandered away for a meeting or lunch. We had business rules and security breaches with regards to functionality at least once a day amongst 50 users.....usually when it was the SAME person with two different sessions of SLX logged in at the same time as different users....working on the SAME Opportunity....
Similar to your row storing technique, we used the form/screen/current session value of the key locking variables (in this case it was Opportunity Phase and Next Phase) and ran a quick DB query to determine if the screen values had changed versus the database....if they had, we simply put up an error message informing the user that we needed to refresh the opportunity....and if they wanted to (and still could) make the change they could go back into the form and try to make the changes.....
Basically if another user had changed the opp phase, another user who didn't have security for that 'new' phase needed to be locked out of the page/form they were on.
so any time the user had an opportunity to save data we checked phases.....if it passed, save the data, if it didn;t pass, exit out of the form and refresh data.
|