A fix is available
APAR status
Closed as program error.
Error description
The presence of an edit string with PIC XBXBXetc. of 37 bytes, or more, causes Enterprise COBOL compiler errors for a SQL SELECT statement using the DB2 Coprocessor (SQL option). This is a very specific example of the failing code. A program contains this definition in WORKING-STORAGE: 01 EDIT-CHAR PIC XBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBX. (That is 37 bytes of XBXBX.....) The PROCEDURE DIVISION contains an EXEC SQL statement with the following clauses: EXEC SQL SELECT ..... INTO ..... FROM ..... WHERE ..... ORDER BY ..... FETCH FIRST 1 ROW ONLY WITH UR END-EXEC. The END-EXEC line number is flagged inline with IGYPS2106-S " " was found in the "MOVE" statement. It was not allowed in this context. The statement was discarded. IGYPS0007-E An alphanumeric literal was not properly continued The end of the literal was assumed on the last source line. In addition to the messages above, this warning is at the end of the listing for the same END-EXEC line number. IGYPS0001-W A blank was missing before character " " in column 25. A blank was assumed. . In the IGYPS2106-S message, the " " contains nulls - X'0000000000000000'. The " " in the IGYPS0001 message is a X'08'. The "MOVE" referenced is in the SQL CoProcessor generated code and does not print in the listing.
Local fix
Split the edit word into smaller parts. If the edit word is shortened to 35 or fewer bytes the problem does not occur. NOTE: Also see APAR PM08727, which solves a similar problem.
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V4 using the SQL * * compiler option on programs that have a * * picture string that is more than 30 * * characters long for a numeric edited data * * item. * * * **************************************************************** * PROBLEM DESCRIPTION: When compiling a program with the SQL * * option that has EXEC SQL statements * * and a data item that is declared with * * more than 30 characters in the picture * * clause without any repetition factor * * like the following: * * 01 DN * * PIC XBXBXBXBXBXBXBXBXBXBXBXBXBXBXBX * * the compiler incorrectly issues the * * following messages: * * IGYPS0001-W A blank was missing * * before character """ in column 18. * * A blank was assumed. * * IGYPS2106-S """ was found in the * * "MOVE" statement. It was not allowed * * in this context. The statement was * * discarded. * * * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * * * **************************************************************** Some storage corruption occurred at compile time when compiling a program with the SQL option that has an EXEC SQL statement and a data item declared with a PICTURE clause that has more tha 30 characters in the picture string without repetition factor.
Problem conclusion
The compiler was modified to avoid the storage corruption and no longer incorrectly issues the error messages.
Temporary fix
Comments
APAR Information
APAR number
PM72648
Reported component name
ENT COBOL FOR Z
Reported component ID
5655S7100
Reported release
420
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-09-11
Closed date
2012-11-07
Last modified date
2012-12-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK83293 UK83294
Modules/Macros
IGYTSQL2
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655S7100
Applicable component levels
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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"4.2","Edition":"","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}}]
Document Information
Modified date:
04 December 2012