Remember that there is a new version PL/SQL engine taking care of calls to the database. I stumbled upon a strange error moving from 10g to 11g.
Now in 11g, the PL/SQL is more restricted in functions behaviour.
A function MUST return av value. So code that looked like this, roughly, in Forms 10g passed, but should not have passed. When run in a 11g environment there are strange behaviour of this new more robust view of a function. Some of these errors can be hard to find, but a &debug and/or
MESSAGE('Informative text');
does the trick.
Here is what passed earlier, but no longer during run-time. It compiles, but is giving strange errors in Forms 11g. Note that the solution is just to RETURN something in the THEN-clause.
FUNCTION MyFunc(i_personId) RETURN VARCHAR2 IS
l_MyVariable VARCHAR2(80);
BEGIN
IF some_expression
THEN NULL;
ELSE
/* Do something */
RETURN('RESULT');
END IF;
END;
stringify() or to_string() ?
3 weeks ago