Oracle Recommendations and Best Practices for Using PLSQL_CCFLAGS (Doc ID 1270816.1)

Last updated on DECEMBER 01, 2010

Applies to:

PL/SQL - Version: 10.2.0.1 and later   [Release: 10.2 and later ]
Information in this document applies to any platform.

Goal

The Oracle documentation states the following in regards to setting PLSQL_CCFLAGS:

PLSQL_CCFLAGS provides a mechanism that allows PL/SQL programmers to control conditional compilation of each PL/SQL library unit independently.

Values:
<vi> has the  form of an unquoted PL/SQL identifier. It is unrestricted and can be a reserved word or a keyword. The text is insensitive to case. Each one is  known as a flag or flag name. Each <vi>  can occur more than once in the string, each occurrence can have a different flag value, and the flag values can be of different kinds.

<ci> is one of the following: a PL/SQL boolean literal, a PLS_INTEGER  literal, or the literal NULL. The text is insensitive to case. Each one  is known as a flag value and corresponds to a flag name.

You can define any allowable value for PLSQL_CCFLAGS. However, Oracle recommends that this parameter be used for controlling the conditional compilation of debugging or tracing code.

It is recommended that the following identifiers not be used as flag name values:

Names of Oracle parameters (for example, NLS_LENGTH_SEMANTICS)
Identifiers with any of the following prefixes: PLS_, PLSQL_, PLSCC_, ORA_, ORACLE_, DBMS_, SYS_

Are there any specific reasons why this is not recommended? Can this lead to unknown side effects with current versions.

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms