>>The other, and perhaps more important, question is how the hell to reestablish the entire state of a cursor? Sure, you can reestablish record pointers, but what about information concerning table buffered records - OLDVAL(), CURVAL(), EVALUATE()? Should all this stuff fly out the window? Should the client retain this information via some kind of state object or array?
One way you could establish state is via passing some unique identifier that is generated at the start of:
A) some process
B) the application
Then each call between objects or pages or whatever passes this value. For instance, if user1 hits an edit page a unique id could be generate from something as simple as a SYS(2015) call. Then when that page calls another page, the id is passed either by a post or get. This allows you to simulate the state. I've used this approach effectively, may not be the most elegant, but it is simple and it does work. I'd be interested in following your results, both of you. I've not had to concern myself with multiple users editing the same record and how to handle those types of updates.
Oct 31 = Dec 25