Runing SQL with EDITIONABLE

dimich

Member
Hi.

I use PL/SQL Developer Version 12.0.7.1837 (64 bit)

When I run at the new "sql window" or "command window" command above, then commands done well.

CREATE OR REPLACE TYPE T_REC_02 AS OBJECT
( f_id NUMBER
, f_pid NUMBER
, f_name VARCHAR2(128)
, MEMBER PROCEDURE Test(in_id NUMBER)
)
/
CREATE OR REPLACE TYPE BODY T_REC_02 IS
MEMBER PROCEDURE Test(in_id NUMBER)IS
BEGIN
NULL;
END;
END;
/

But when i run this one - I have (parsing) error.
Warning: Type body created with compilation errors
ORA-00900: invalid SQL statement
ORA-00900: invalid SQL statement

CREATE OR REPLACE EDITIONABLE TYPE T_REC_02 AS OBJECT
( f_id NUMBER
, f_pid NUMBER
, f_name VARCHAR2(128)
, MEMBER PROCEDURE Test(in_id NUMBER)
)
/
CREATE OR REPLACE EDITIONABLE TYPE BODY T_REC_02 IS
MEMBER PROCEDURE Test(in_id NUMBER)IS
BEGIN
NULL;
END;
END;
/
 
This works fine for me. To obtain some more diagnostic information, can you modify the shortcut and add the DebugSQL parameter? For example:

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

Reproduce the problem and send me the debug.txt file that is generated in the %APPDATA%\PLSQL Developer 12 directory (e.g. C:\Users\\AppData\Roaming\PLSQL Developer 12).
 
We send files to Marco by email - support@allroundautomations.com. Referencing this post would be helpful to keep them together.
 
After several emails I receive this one.

Hello Dmitri,

"
It seems that the statement parser of the SQL Window and Command Window does not process the (NON)EDITIONABLE clause. We'll fix this.

Greetings,
Marco Kalter
"

I think topic must be closed.
Thanks.
 
Last edited:
It seems the program window doesn't know how to deal with the editionable keyword in

create or replace editionable procedure ...

Only when I remove the editionable keyword I get anything in the code hierachy and refactoring works.

We don't use editioning, but but dbms_metadata that we use to get our sources seems to automaticaly add this. Haven't had the time to see if it can be omitted.
 
The program window does not know how to deal with the "force" keyword (in create or replace force type...) either.
 
Back
Top