Thinking about it, you are correct and the function does need to be part of the local interface - apologies for doubting you :)
But in my case it doesn't matter as i call this function before anything else and the first thing the function does is to make the "FOR UPDATE" query. Which provided the outer function is marked as requiring a new transaction, this will behave correctly.
[Message sent by forum member 'jsl123' (jsl123)]
http://forums.java.net/jive/thread.jspa?messageID=217879