PLW-06003: unknown inquiry directive '$$…' occurs if the source code references a preprocessor directive whose value was not explicitly set in plsql_ccflag. create or replace procedure tq84_proc
authid definer
as begin
$if $$xyz $then
dbms_output.put_line('xyz is defined');
$else
dbms_output.put_line('xyz is not defined');
$end
end tq84_proc;
/
$$xyz must be set to a value: alter session set plsql_ccflags = 'xyz:true';