I just had a weird occurrence on a webdirect app. I have a parent table (lets call it USERS) and a user detail table (lets call it USER extra data). The child table is joined via a global variable on the parent table. I'm not using a regular field because it isn't always one to one - for instance, an admin in USERS might be on their own record and using the global field, change the detail user to a different user so that they can edit that record. It's been working great until we added a lot more users.
gUserDetailPointer (will hold ID of Child table)
So the user logs in and we put the ID of their own record in gUserDetailPointer and their data comes up and they can change it. Then they want to look at someone else, so we put the ID of the other person's record into gUserDetailPointer and the other user data comes up. It works great, but I ran into an issue where User#1 is looking at their own record and User#2 is looking at their own record and if user one makes a change and we haven't committed, user #2 gets a message that the CHILD record is locked by User#1 - even though both users are looking at completely different records in the child table.
I've already programmed around this by populating global fields with UserInfo#1 and UserInfo#2 - then the users can edit that and save it and it appears to have solved the issue, however - I don't get why FileMaker thinks looking at one record in the child table for one user would cause another user to get a locked record notice on a completely different child record.