-144   INVALID SECTION NUMBER number

Explanation

One of the following:
  • The user attempted to execute an invalid section.
  • This release of DB2® does not support the SQL statement.
  • The section number in the call parameter list is one of these:
    • Negative
    • An invalid duplicate
    • Greater than the maximum section number of the DBRM or package

System action

The statement cannot be processed.

Programmer response

For case 1: If you are executing a package that was bound with SQLERROR(CONTINUE), determine whether the statement in question was bound as a valid section. You can use the following statements to query the DB2 catalog:
  SELECT SQLERROR
FROM   SYSIBM.SYSPACKAGE
WHERE  COLLID    = collection-id AND
NAME      = package-id    AND
VERSION   = version-name;
If that query returns 'C', the package was bound with SQLERROR(CONTINUE).
  SELECT STMTNO, TEXT
FROM   SYSIBM.SYSPACKSTMT
WHERE  COLLID    = collection-id AND
NAME      = package-id    AND
VERSION   = version-name  AND
SECTNO    = number        AND
BINDERROR = 'Y';
If that query returns any rows, the section is invalid. Refer to the error messages issued during the bind to determine the cause. Correct any errors and bind the package again, using the REPLACE option.

For case 2: If the DB2 system has fallen back to a previous release, determine whether there are any SQL statements with a section number of zero that are not supported by that release. You can use the following statements to query the DB2 catalog.

When executing from a DBRM, use:
  SELECT *
FROM   SYSIBM.SYSSTMT
WHERE  SECTNO = 0
ORDER BY NAME, PLNAME, STMTNO, SEQNO;
When executing from a package, use:
  SELECT *
FROM   SYSIBM.SYSPACKSTMT
WHERE  SECTNO = 0
ORDER BY COLLID, NAME, VERSION, STMTNO, SEQNO;

For case 3: Examine the application to determine whether the call parameter list was changed in some way. In general, you should not attempt to change the output of the precompiler.

SQLSTATE

58003