Test Window raises PLS-00201 on every recompilation in PLSQL dev 12.0.1.1814 (64 bit)

MaZaaX

Member²
Hi Marco et al,

PL/SQL developer raises PLS-00201: identifier 'XYZ' must be declared on every non-autonomous procedure "XYZ" recompilation (name, arguments, rights needed on XYZ remains as is, proc. body must change slightly)

Thank you

Rg,
MZ
 
Hi Marco,

here you go.

1. create promon table
2. create procedure
3. click on proc name and select test to open test window
4. run the test
5. change anything in the proc & recompile
6. PLS-00201 is raised once you try to retest using already opened test window

Regards,
Martin

create table PROMON
(
proinum1 NUMBER,
proinum2 NUMBER,
proappl VARCHAR2(50),
proserv VARCHAR2(50),
prostat NUMBER,
proprog VARCHAR2(30),
promess VARCHAR2(255),
prodate DATE,
prouser VARCHAR2(30),
protype NUMBER
);

CREATE OR REPLACE PROCEDURE mza_test
( ac_country_code in varchar2 default 'CZ',
ac_group_name in varchar2 default 'GO',
an_group_end in number default 1023,
an_hier_level in number default 3)
AUTHID CURRENT_USER
IS
lc_country_code varchar2(2) := upper( ac_country_code );
lc_group_name varchar2(50) := upper( ac_group_name );
ln_group_end number(5) := an_group_end ;
ln_hier_level number(2) := an_hier_level ;

type promon_aat IS TABLE OF SYSEL.PROMON%ROWTYPE INDEX BY PLS_INTEGER ;
l_promon promon_aat;

--CURSOR
l_rc SYS_REFCURSOR ;
ln_execute BINARY_INTEGER;
ln_awf_go_cur BINARY_INTEGER := DBMS_SQL.OPEN_CURSOR ;
lc_sql_stmt clob :=
'select cast(null as number) as proinum1,
cast(null as number) as proinum2,
cast(null as varchar2(50)) as proappl,
cast(null as varchar2(50)) as proserv,
cast(level as number) as prostat,
cast(''MZA_TEST'' as varchar2(100)) as proprog,
cast(''START'' as varchar2(100)) as promess,
cast(null as date) as prodate,
cast(null as varchar2(30)) as prouser,
cast(null as number) as protype
from dual
connect by level
 
If you open a fresh new test window (by clicking the proc name ans choosing test from the context menu)
everything works just fine.

Old test window still keeps raising the error.
 
This procedure seems to be working fine for me.

To obtain some more diagnostic information, can you modify the shortcut and add the DebugSQL parameter? For example:

"C:\Program Files (x86)\PLSQL Developer 12\plsqldev.exe" DebugSQL

Reproduce the problem and send me the debug.txt file that is generated in the PL/SQL Developer directory or in the %APPDATA%\PLSQL Developer 12 directory (e.g. C:\Users\\AppData\Roaming\PLSQL Developer 12).
 
I've just gathered dbg log, it's about 140kB in size.

Could tell me how can I add an attachment to the post or
should I just paste the content as a message?

Thanks.
 
Eventually, it's appeared to be a feature of Oracle
when setting current_schema at a session level
(another approach has to chosen for testing when it comes to invoker right+current_schema procedure).
 
Back
Top