A fix is available
APAR status
Closed as program error.
Error description
Error message DSNT285I when bind with APCOMPARE(WARN), it can be reproduced in Case 3 of following test. <CASE1> --------------------------------------------------------------- 1.create a new program(precompile and link edit) 2.BIND a package with the program created in Step1 with APCOMPARE(WARN) BIND PACKAGE(CBPK30) MEMBER(COB30) APCOMPARE(WARN) => DSNT292I -DBXX DSNTBCM2 BIND PACKAGE = DB2XYZ.CBPK30.COB30.(), DB2 WAS UNABLE TO FIND A PRE-EXISTING PACKAGE TO OBTAIN PRIOR ACCESS PATHS. APCOMPARE AND/OR APREUSE OPTIONS WERE IGNORED. 3.BIND another package with COPY of the package in Step2 with APCOMPARE (WARN). BIND PACKAGE(CBPK30C) COPY(CBPK30.COB30) APCOMPARE(WARN) =>DSNT285I -DBXX DSNTBBP2 BIND FOR PACKAGE = DB2XYZ.CBPK30C.COB30, USE OF APCOMPARE RESULTS IN: 2 STATEMENTS WHERE COMPARISON IS SUCCESSFUL 0 STATEMENTS WHERE COMPARISON IS NOT SUCCESSFUL 0 STATEMENTS WHERE COMPARISON COULD NOT BE PERFORMED. DSNT294I -DBXX DSNTBCM2 BIND PACKAGE = DB2XYZ.CBPK30C.COB30.(), TO PROCESS APCOMPARE AND/OR APREUSE, PRIOR ACCESS PATHS FROM VERSION (DB2XYZ.CBPK30.COB30.()) WERE USED. ---------------------------------------------------------------- <CASE2> ---------------------------------------------------------------- 1.just BIND the existing package with the same DBRM BIND PACKAGE(CBPK30) MEMBER(COB30) APCOMPARE(WARN) =>DSNT285I -DBXX DSNTBBP2 BIND FOR PACKAGE = DB2XYZ.CBPK30.COB30, USE OF APCOMPARE RESULTS IN: 2 STATEMENTS WHERE COMPARISON IS SUCCESSFUL 0 STATEMENTS WHERE COMPARISON IS NOT SUCCESSFUL 0 STATEMENTS WHERE COMPARISON COULD NOT BE PERFORMED. DSNT294I -DBXX DSNTBCM2 BIND PACKAGE = DB2XYZ.CBPK30.COB30.(), TO PROCESS APCOMPARE AND/OR APREUSE, PRIOR ACCESS PATHS FROM VERSION () WERE USED. 2.BIND another package with COPY of the package in Step1 with APCOMPARE (WARN). BIND PACKAGE(CBPK30C) COPY(CBPK30.COB30) APCOMPARE(WARN) =>DSNT285I -DBXX DSNTBBP2 BIND FOR PACKAGE = DB2XYZ.CBPK30C.COB30, USE OF APCOMPARE RESULTS IN: 2 STATEMENTS WHERE COMPARISON IS SUCCESSFUL 0 STATEMENTS WHERE COMPARISON IS NOT SUCCESSFUL 0 STATEMENTS WHERE COMPARISON COULD NOT BE PERFORMED. DSNT294I -DBXX DSNTBCM2 BIND PACKAGE = DB2XYZ.CBPK30C.COB30.(), TO PROCESS APCOMPARE AND/OR APREUSE, PRIOR ACCESS PATHS FROM VERSION (DB2XYZ.CBPK30.COB30.()) WERE USED. ---------------------------------------------------------------- <CASE3> ---------------------------------------------------------------- 1.Pre-compile the program, but no change in SQL. 2.BIND the package with APCOMPARE BIND PACKAGE(CBPK30) MEMBER(COB30) APCOMPARE(WARN) =>DSNT285I -DBXX DSNTBBP2 BIND FOR PACKAGE = DB2XYZ.CBPK30.COB30, USE OF APCOMPARE RESULTS IN: 2 STATEMENTS WHERE COMPARISON IS SUCCESSFUL 0 STATEMENTS WHERE COMPARISON IS NOT SUCCESSFUL 0 STATEMENTS WHERE COMPARISON COULD NOT BE PERFORMED. DSNT294I -DBXX DSNTBCM2 BIND PACKAGE = DB2XYZ.CBPK30.COB30.(), TO PROCESS APCOMPARE AND/OR APREUSE, PRIOR ACCESS PATHS FROM VERSION () WERE USED. 3.BIND another package with COPY of the package in Step2 with APCOMPARE (WARN). BIND PACKAGE(CBPK30C) COPY(CBPK30.COB30) APCOMPARE(WARN) =>DSNT285I -DBXX DSNTBBP2 BIND FOR PACKAGE = DB2XYZ.CBPK30C.COB30, USE OF APCOMPARE RESULTS IN: 0 STATEMENTS WHERE COMPARISON IS SUCCESSFUL 0 STATEMENTS WHERE COMPARISON IS NOT SUCCESSFUL 2 STATEMENTS WHERE COMPARISON COULD NOT BE PERFORMED. DSNT294I -DBXX DSNTBCM2 BIND PACKAGE = DB2XYZ.CBPK30C.COB30.(), TO PROCESS APCOMPARE AND/OR APREUSE, PRIOR ACCESS PATHS FROM VERSION (DB2XYZ.CBPK30.COB30.()) WERE USED. ----------------------------------------------------------------
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: Users of DB2 for z/OS executing a * * BIND PACKAGE COPY command using * * APCOMPARE. * **************************************************************** * PROBLEM DESCRIPTION: THE PROBLEM THIS FIX ADDRESSES HAS THE * * FOLLOWING REPORTED SYMPTOMS: * * * * DSNT285I -DBXX DSNTBCM2 * * BIND PACKAGE = <package> * * <x> STATEMENTS WHERE COMPARISON * * COULD NOT BE PERFORMED. * * * * * * PROBLEM SCENARIO: * * * * The reported error occurred when * * attempting a BIND PACKAGE COPY on * * an existing package with APCOMPARE * * after a precompile. This can also * * affect BIND PACKAGE DEPLOY with * * APCOMPARE. * * * * Here is an example: * * * * Case1 - Comparison OK * * 1.Create a new program (precompile * * and link edit) * * 2.BIND PACKAGE(XX) MEMBER(YY) * * APCOMPARE(WARN) * * 3.BIND PACKAGE(ZZ) COPY(XX.YY) * * APCOMPARE(WARN) * * * * Case2 - Comparison OK * * 1.BIND PACKAGE(XX) MEMBER(YY) * * APCOMPARE(WARN) * * 2.BIND PACKAGE(ZZ) COPY(XX.YY) * * APCOMPARE(WARN) * * * * Case3 - Doesn't compare * * 1.Precompile the program, but * * no change in SQL. * * 2.BIND PACKAGE(XX) MEMBER(YY) * * APCOMPARE(WARN) * * 3.BIND PACKAGE(ZZ) COPY(XX.YY) * * APCOMPARE(WARN) * * * * Case 3 BIND COPY gets this error: * * * * =>DSNT285I -DBXX DSNTBBP2 BIND FOR * * PACKAGE = DB2.XX.YY, * * USE OF APCOMPARE RESULTS IN: * * 0 STATEMENTS WHERE COMPARISON IS * * SUCCESSFUL * * 0 STATEMENTS WHERE COMPARISON IS * * NOT SUCCESSFUL * * 2 STATEMENTS WHERE COMPARISON * * COULD NOT BE PERFORMED. * * * **************************************************************** * RECOMMENDATION: * **************************************************************** SUMMARY OF DB2 EVENTS: DB2 uses contoken as one of the search criteria to find the previous access path to do the comparison for APCOMPARE. Because the contoken changed with the precompile, DB2 used the wrong contoken variable to do the comparison. This comparison failed.
Problem conclusion
DB2 has been fixed to point to the correct variable when searching for the previous access path to do the APCOMPARE. ADDITIONAL KEYWORDS: BIND COPY DEPLOY APCOMPARE MSGDSNT285I
Temporary fix
Comments
APAR Information
APAR number
PM83997
Reported component name
DB2 OS/390 & Z/
Reported component ID
5740XYR00
Reported release
A10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-03-04
Closed date
2013-04-04
Last modified date
2013-05-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK93150
Modules/Macros
DSNTBCM2
Fix information
Fixed component name
DB2 OS/390 & Z/
Fixed component ID
5740XYR00
Applicable component levels
RA10 PSY UK93150
UP13/04/19 P F304
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
03 May 2013