Start of change

-805   DBRM OR PACKAGE NAME location-name.collection-id.dbrm-name.consistency-token NOT FOUND IN PLAN plan-name. REASON reason-code

Explanation

An application program attempted to use a DBRM or package that was not found.

location-name.collection-id.dbrm-name.consistency-token
The package that was not found. The collection-id is blank if the CURRENT PACKAGESET special register was blank for the local program execution.
plan-name
The name of the plan.
reason-code
A numeric value that indicates the reason for the failure.
01
  • The DBRM name was not found in the member list of the plan and there is no package list for the plan.

    Problem determination: Query 1

    Corrective action: Add the DBRM that is identified by dbrm-name to the MEMBER list of the BIND subcommand and bind the application plan that is identified by plan-name.

  • The package name was not found because there is no package list for the plan.

    Problem determination: Query 2

    Corrective action: Add the PKLIST option with the appropriate package list entry to the REBIND subcommand and rebind the application plan that is identified by plan-name.

02
The DBRM name dbrm-name did not match an entry in the member list or the package list. Any of the following conditions could be the problem:
BIND conditions
  • The collection-id in the package list was not correct when the application plan that is identified by plan-name was bound.

    Problem determination: Query 2

    Corrective action: Correct the collection ID of the entry in the PKLIST option and use the REBIND subcommand to rebind the application plan that is identified by plan-name.

  • The location-name in the package list was not correct when the application plan that is identified by plan-name was bound.

    Problem determination: Query 2

    Corrective action: Correct the location name of the entry in the PKLIST option and use the REBIND subcommand to rebind the application plan that is identified by plan-name.

  • The location-name in the CURRENTSERVER option for the BIND subcommand was not correct when the application plan that is identified by plan-name was bound.

    Problem determination: Query 3

    Corrective action: Correct the location name in the CURRENTSERVER option and use the REBIND subcommand to rebind the application plan that is identified by plan-name.

Application conditions
  • The CURRENT PACKAGESET special register was not set correctly by the application.

    When using SET CURRENT PACKAGESET = :HV, be sure to use the correct encoding scheme, which must match the :HV in subsystem parameter options. This statement does not require package or DBRM bound into the plan, so it uses the encoding scheme defined for system. The same condition applies to SET CURRENT PACKAGE PATH.

    Corrective action: Set the CURRENT PACKAGESET special register correctly.

  • The application was not connected to the proper location.

    Corrective action: Connect to the correct location.

03
The DBRM name that is identified by dbrm-name matched one or more entries in the package list and the search of those entries did not find the package. Any of the conditions that are listed for reason-code value 02 are possible causes for reason-code value 03, as are the following additional conditions:
  • The DBRM of the version of the application program being executed was not bound. (A package with the same consistency token as that of the application program was not found.)

    Problem determination: Query 4

    Corrective action: Bind the DBRM of the version of the application program to be executed into the collection that is identified by collection-id.

  • The incorrect version of the application program is being executed.

    Corrective action: Execute the correct version of the application program. The consistency token of the application program is the same as the package that was bound.

04

The package does not exist at the remote site, which is identified by the location-name value.

Problem determination: Query 4

blank
The reason-code value is blank if the length of location-name is 16, the length of collection-id is 18, and the length of dbrm-name is 8 due to the length of SQLERRMT.

In a native SQL procedure, if the affected SQL statement follows a SET CURRENT PACKAGESET, SET CURRENT PACKAGE PATH, or CONNECT statement, or if it refers to an object on a remote server, additional packages must be bound using BIND COPY. Whenever the native SQL procedure is changed such that a regeneration is needed, the additional package also needs to be bound with the copy option.

System action

The statement cannot be processed.

Programmer response

Use the information that is provided for the reason-code to resolve the problem.

Problem determination

The following queries aid in determining the problem. Run these queries at the local location.

Query 1: Display the DBRMs in the member list for the plan
SELECT PLCREATOR, PLNAME, NAME, VERSION
FROM SYSIBM.SYSDBRM
WHERE PLNAME = 'plan-name';

If no rows are returned, then the plan was bound without a member list.

Query 2: Display the entries in the package list for the plan
SELECT LOCATION, COLLID, NAME
FROM SYSIBM.SYSPACKLIST
WHERE PLANNAME = 'plan-name';

If no rows are returned, then the plan was bound without a package list.

Query 3: Display the CURRENTSERVER value specified on the BIND subcommand for the plan.
SELECT NAME, CURRENTSERVER
FROM SYSIBM.SYSPLAN
WHERE NAME = 'plan-name';
Query 4: Determine if there is a matching package in SYSPACKAGE

If the package is remote, put the location name in the FROM clause.

If the collection-id value in the message is blank, use this version of the query:

SELECT COLLID, NAME, HEX(CONTOKEN), VERSION
FROM location-name.SYSIBM.SYSPACKAGE
WHERE NAME = 'dbrm-name'
AND HEX(CONTOKEN) = 'consistency-token';

If the collection-id value in the message is not blank, use this version of the query:

SELECT COLLID, NAME, HEX(CONTOKEN), VERSION
FROM location-name.SYSIBM.SYSPACKAGE
WHERE NAME = 'dbrm-name'
AND HEX(CONTOKEN) = 'consistency-token'
AND COLLID = 'collection-id';

If no rows are returned, the correct version of the package was not bound.

SQLSTATE

51002

End of change