I don't see how what you have inside the case function can possibly evaluate correctly, but it's much more complex than it needs to be.
Here's a much simpler expression that will return all characters to the right of the last . in the 3rd line of "Ref_Photos::RP_Photo_Path".
Let ( [
path = GetValue ( Ref_Photos::RP_Photo_Path ; 3 ) ;
L = length ( path )
Right ( path ; L - Position ( path ; "." ; L ; -1 ) )
Yes it is.
Unfortunately I've had to pick up from the other developer who created this system, he didn't use the KISS principal instead opting for the hammer option.
There is lots of issues that I am trying to resolve in this system.
I will put your solution to work, there are a number of other places I can use this.
Thank you very much.