A fix is available
APAR status
Closed as program error.
Error description
When creating index by below DDL: CREATE UNIQUE INDEX RDAYML.IX2TB2AUX1 ON RDAYML.TB2AUX USING STOGROUP SYSDEFLT ERASE NO FREEPAGE 0 PCTFREE 10 GBPCACHE CHANGED PADDED BUFFERPOOL BP0 CLOSE YES PIECESIZE 2G COPY NO ; SQLCODE -103 was returned: DSNT408I SQLCODE = -103, ERROR: 2G IS AN INVALID NUMERIC CONSTANT DSNT418I SQLSTATE = 42604 SQLSTATE RETURN CODE DSNT415I SQLERRP = DSNHLEX SQL PROCEDURE DETECTING ERROR DSNT416I SQLERRD = 12 0 10 -1 270 803 SQL DIAGNOSTIC INFORMATION DSNT416I SQLERRD = X'0000000C' X'00000000' X'0000000A' X'FFFFFFFF' X'0000010E' X'00000323' SQL DIAGNOSTIC INFORMATION
Local fix
add a space between '2G'
Problem summary
**************************************************************** * USERS AFFECTED: Users of an integer constant with suffix * * K/M/G in an SQL statement on DB2 for z/OS * * V9.1 * **************************************************************** * PROBLEM DESCRIPTION: DB2 may incorrectly issue SQLCODE -103 * * or message DSNH103I or DSNH104I * * if an integer is followed by a suffix * * K/M/G and the suffix is followed by a * * control character, such as '0A'X, * * '09'X, '0C'X, '0D'X in unicode. * * These control characters correspond to * * the line feed, tab, form feed, and * * carriage return control characters. * **************************************************************** * RECOMMENDATION: * **************************************************************** The following example exposes the problem: CREATE UNIQUE INDEX RDAKQB.LOB05X21 ON RDAKQB.LOB05TB2 ( ID ASC ) USING STOGROUP ALPQASTO PRIQTY 120 SECQTY 120 ERASE NO FREEPAGE 0 PCTFREE 5 GBPCACHE CHANGED BUFFERPOOL BP0 CLOSE YES PIECESIZE 2G COPY NO ; In the above example, each line has a line feed character ('0A'X in unicode) following the last non-blank character. DB2 may incorrectly issue SQLCODE -103, or message DSNH103I or DSNH104I for the above case. SQLCODE = -103, ERROR: 2G IS AN INVALID NUMERIC CONSTANT or DSNH103I E DSNHLEX LINE xx COL xx "2G" IS AN INVALID NUMERIC CONSTANT or DSNH104I E DSNHPARS LINE xx COL xx ILLEGAL SYMBOL "2G". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: <INTEGER> <KMG_INTEGER> Additional keywords: SQLCODE103 MSGDSNH103I MSGDSNH104I
Problem conclusion
DB2 code is modified so that an integer with suffix K/M/G in an SQL statement followed by a control character such as a line feed '0A'X is recognized correctly by DB2.
Temporary fix
Comments
APAR Information
APAR number
PK85384
Reported component name
DB2 OS/390 & Z/
Reported component ID
5740XYR00
Reported release
910
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-04-26
Closed date
2009-06-01
Last modified date
2009-07-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK47057
Modules/Macros
DSNHTOKR
Fix information
Fixed component name
DB2 OS/390 & Z/
Fixed component ID
5740XYR00
Applicable component levels
R910 PSY UK47057
UP09/06/16 P F906
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":"9.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":"9.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
01 July 2009