PCC-02348: indicators are not allowed in EXEC IAF statements

PCC-02348: indicators are not allowed in EXEC IAF statements

Cause: Indicator variables associated with host variables cannot be used in EXECIAF statements such as GET and PUT in a user exit.

Action: Eliminate the indicator variabls. If feasible (for example with Forms V4), use EXEC TOOLS statements, which do allow indicator variables. See the Programmer s Guide to the Oracle Precompilers for more information of EXECIAF and EXEC TOOLS statements.

PCC-02347: PL or SQL found syntax errors

PCC-02347: PL or SQL found syntax errors

Cause: A PL or SQL statement was used illegally.

Action: Check the PL or SQL User s Guide and Reference for the correct syntax.

PCC-02345: SQLCHECK=SEMANTICS must be given when embedded PL or SQL blocks are used

PCC-02345: SQLCHECK=SEMANTICS must be given when embedded PL or SQL blocks are used

Cause: Embedded PL or SQL blocks require that the command-line flag SQLCHECK=SEMANTICS is used.

Action: Use the SQLCHECK=SEMANTICS option. This also requires that the USERID connect option be given.

PCC-02344: Host variable array size mismatch. Using minimum: number

PCC-02344: Host variable array size mismatch. Using minimum: number

Cause: Host variable arrays in a single statement should all be of equal size.

Action: Redefine the bind variable array lengths to all be the same size.

PCC-02343: body of cursor must be a query expression

PCC-02343: body of cursor must be a query expression

Cause: A cursor definition must be a SELECT statement.

Action: Rewrite the cursor definition.

PCC-02342: using WHERE CURRENT OF on cursor defined without FOR UPDATE clause

PCC-02342: using WHERE CURRENT OF on cursor defined without FOR UPDATE clause

Cause: When MODE=Oracle, a cursor defined with a WHERE CURRENT OF clause must also have a FOR UPDATE clause.

Action: Rewrite the cursor definition.

PCC-02341: host variable has illegal type

PCC-02341: host variable has illegal type

Cause: A host variable has an unpermitted type (i.e.; enum, void, etc).

Action: Rewrite the host variable declaration, using a permissible host variable type.

PCC-02340: structure contains a bit field

PCC-02340: structure contains a bit field

Cause: Bit fields are not allowed in host variables because they are meaningless for database DML operations.

Action: This error message is followed by another message that gives the line and column of the reference to the offending host variable. Recode the application.

PCC-02339: host variables cannot be of union types

PCC-02339: host variables cannot be of union types

Cause: A C union as a host variable cannot be used.

Action: This error message is followed by another message that gives the line and column of the reference to the illegal union. Recode, using a struct or individual scalar host variables.

PCC-02338: structure contains a nested struct or union

PCC-02338: structure contains a nested struct or union

Cause: A structure used as a host variable may not have structures or unions nested within it.

Action: Rewrite the variable declaration.

PCC-02337: cannot declare multi-dimensioned array for this type

PCC-02337: cannot declare multi-dimensioned array for this type

Cause: Host variable arrays of scalars with more than 1 dimension cannot be declared.The only host variables allowed to be multi-dimensioned are CHAR and VARCHAR.

Action: Rewrite the variable declaration.

PCC-02336: host variable expression has invalid type

PCC-02336: host variable expression has invalid type

Cause: The host variable was declared using a C type that is not permitted as a host variable. See the Programmer s Guide to the Oracle Precompilers for a list of the permissible C types for host variables.

Action: Use a permissible host variable type.

PCC-02335: body of cursor must name statement identifier

PCC-02335: body of cursor must name statement identifier

Cause: In a Dynamic SQL Method 4 application, the DECLARE... CURSOR statement must name a statement identifier that has been PREPAREd in a preceding statement. The PREPARE statement must physically (not logically) precede the DECLARE command.

Action: This error message is followed by another message that gives the line and column of the reference to the statement. Recode the application.

PCC-02334: SQL identifier was not declared as a cursor

PCC-02334: SQL identifier was not declared as a cursor

Cause: A cursor name was used in an OPEN, FETCH, or CLOSE statement that had not been DECLAREd.

Action: Check that all SQL cursor names have been declared. Remember that cursors are identifiers, not variables, and that they are local to the precompilation unit.

PCC-02333: SQL identifier was not declared as a statement

PCC-02333: SQL identifier was not declared as a statement

Cause: A SQL statement identifier was referenced in a DECLARE... CURSOR statement that was not PREPAREd.

Action: Check that all SQL statement names have been declared. Remember that SQL statement names are identifiers, not variables, and that they are local to the precompilation unit.

PCC-02332: attempted to redefine SQL identifier

PCC-02332: attempted to redefine SQL identifier

Cause: A SQL identifier (such as a cursor name) can be defined only once.

Action: Do not redefine the SQL identifier.Use a different name.

PCC-02331: undefined SQL identifier

PCC-02331: undefined SQL identifier

Cause: All SQL identifiers must be declared before they are used. This message can result when a CURSOR or STATEMENT is not declared (defined) before being referenced.

Action: Define the SQL identifier before it is used.

PCC-02330: expecting an expression of integer type

PCC-02330: expecting an expression of integer type

Cause: The expression does not evaluate to an integer. For example, a SQL FOR expression must evaluate to an integral type.

Action: Rewrite the expression.