ERROR 0 at line 0, column 0 PL/SQL Check # 20609

From: <pberetta_at_my-deja.com>
Date: Thu, 11 Nov 1999 19:56:43 GMT
Message-ID: <80f71o$a4j$1_at_nnrp1.deja.com>



Posted this one on one of Oracle Support's Forums about two weeks ago, have yet to get a response (other than an email to tell me they moved it from the PL/SQL Forum to the "more appropriate" Forms Forum). Maybe someone here can clue me in.

I added the following lines to an existing Program Unit (function): Message('ID = ' || :GLOBAL.SPON_ID);
PAUSE;
When I attempted to compile it in Dev/2000 Forms 4.5 (16bit) I received the following error message:
ERROR 0 at line 0, column 0 PL/SQL Check # 20609. Please inform your Oracle representative.

    Thought I had received just about every error message Forms had to offer, but this was a new one on me. Commenting out the Message() line allowed the compile to work. Declaring a local varchar2 variable, loading the Global into it, and using it in the concatenated message text allowed the compile to work. :GLOBAL.SPON_ID is created within the form prior to this function being called and is referenced and compared to other values within the function prior to where this message was being inserted. Solved the original problem (the one that made me add the message for debugging) via the work-around, so this is only a curiosity, not an emergency. Just never saw an Oracle error message in a format like this before. Thought I had REALLY screwed up when it first appeared.

    If all they really mean is "Hey dummy, you can't use a GLOBAL here" (which appears to be the case), then why don't they just say so. I could understand this because, when you think about it, a GLOBAL can hold any datatype and therefor may or may not be suitable as part of a text string. Which leads to another question - if this is the case then why can you use a GLOBAL in the WHERE clause of a Record Group, but not a bind variable of the correct datatype? For example: SELECT ename FROM emp WHERE deptno = :GLOBAL.Dept_No will work, but try SELECT ename FROM emp WHERE deptno = :dept.deptno and you will not be allowed to create the record group. Why?

Sent via Deja.com http://www.deja.com/
Before you buy. Received on Thu Nov 11 1999 - 20:56:43 CET

Original text of this message