Oracle Error ORA-06573: Function string modifies package state, cannot be used here

Oracle Error Message

ORA-06573: Function string modifies package state, cannot be used here

Reason for the Error

There are two possible causes for this message:

* A SQL statement references a packaged, PL/SQL function that does not contain a pragma containing the ‘Write no Package State’ (WNPS).

* A SQL statement references a stand-alone, PL/SQL function that modifies a package state. A stand-alone, PL/SQL function referenced by a SQL statement cannot modify a package state.

Solution

If the function is a packaged, PL/SQL function: Recreate the function and include a pragma containing the ‘Write no Package State’ (WNPS). If the function is a stand-alone, PL/SQL function: Delete the function from the SQL statement.