Only one program is actually executing at a time.
One calls Two, then returns to one.
The only concern you should have if one of the programs locks a record before going to the 2nd program. The pointer fom the first program does not pass to the 2nd program.
I do not understand your question!
These are two different programs active at the same time?
The second should know that the first is using the first record?
Are records locked because they are accessed for update?