A fix is available
APAR status
Closed as program error.
Error description
A complex IF statement containing abbreviated combined conditions with parenthesis around the distributed objects is incorrectly flagged with message IGYPS2048-S. * The format of the statement is similar to this IF (DATA2 = '1' AND DATA3 = ('W' OR 'G') AND (DATA4(SUBB)) > DATA5(SUBB)) MOVE '2' TO DATA2 END-IF. The statement is flagged with this message when compiled with the Enterprise COBOL 4.1 compiler: IGYPS2048-S An invalid abbreviated relation condition was found. The statement was discarded. * The error occurs when either compiler option OPT or NOOPT is specified.
Local fix
(Note that 1) and 2) work for the specific example above.) 1) Split the DATA3 = ('W' OR 'G') to this: (DATA3 = 'W' OR DATA3 = 'G') 2) Remove parens from the next distributed object changing (DATA4(SUBB)) > DATA5(SUBB)) to this: DATA4(SUBB) > DATA5(SUBB)) The balancing right paren for this is IF (DATA2 = ... 3) Use Ent COBOL 3.4.1 or an older compiler. **** ADDITIONAL SEARCHWORDS: MSGIGYPS2048 IGYPS2048
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL using IF * * statements with multiple parenthesis and * * abbreviated combined relation conditions. * * * * * **************************************************************** * PROBLEM DESCRIPTION: Unexpected message IGYPS2048-S on an * * abbreviated combined condition with * * parenthesis around the distributed * * object. eg IF A = (B or C) and ...... * * * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * **************************************************************** Enterprise COBOL V4R1 enhanced syntax checking of parenthesized abbreviated combined conditions and accidentally also prohibited parenthesis around the distributed object which should remain legal.
Problem conclusion
The Enterprise COBOL compile is corrected to allow parenthesis around the distributed object in an abbreviated condition.
Temporary fix
Comments
APAR Information
APAR number
PK69010
Reported component name
ENT COBOL FOR Z
Reported component ID
5655S7100
Reported release
400
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2008-07-14
Closed date
2008-08-05
Last modified date
2008-10-17
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK38706
Modules/Macros
IGYQPR03
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655S7100
Applicable component levels
R400 PSY UK38706
UP08/08/11 P F808
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.0","Edition":"","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}}]
Document Information
Modified date:
17 October 2008