A fix is available
APAR status
Closed as program error.
Error description
Consider the following sequence: ... 05 TEST-AAA PIC X. ... MOVE LOW-VALUES TO TEST-AAA IF ((LIMIT-1 = ZERO AND LIMIT-2 > 001) OR LIMIT-1 > 001) AND TEST-AAA INITIALIZE ERROR-MESSAGE. ... In this case the "AND TEST-AAA" is being interpreted as AND LIMIT-1 > TEST-AAA . Page 288 Enterprise COBOL for z/OS V4.1 Language Reference and page 275 of V5.1 Language Reference document "Insertion of the omitted subject or relational operator ends when: a. Another simple condition is encountered. b. A condition-name is encountered. c. A right parenthesis is encountered that matches a left parenthesis that appears to the left of the subject." ... The code includes: "OR LIMIT-1 > 001) AND TEST-AAA" Since "AND TEST-AAA" immediately follows a right paren, there should be no carry over of the subject or relational operator. But the code is acting as if there is a carry over without any warning. ***** The old OS/VS COBOL V1.2.4 compiler gives this error: IKF4084I-C ILLOGICAL USE OF PARENTHESES OR RELATIONALS ACCEPTED WITH DOUBTS AS TO MEANING. A similar message from Enterprise COBOL could be helpful.
Local fix
Spell out what TEST-AAA should be compared to.
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V4 using IF * * statements with multiple parentheses and * * abbreviated combined relation conditions. * * * **************************************************************** * PROBLEM DESCRIPTION: The following illegal abbreviated * * combined condition is not getting the * * diagnostc message IGYPS2048-S: * * ((A = ZERO AND B > 1) OR C > 1) AND D * * * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * * * **************************************************************** The compiler is not diagnosing a missing subject in a combined abbreviated ralation condition.
Problem conclusion
The compiler was modified to diagnose cases where a relational condition object was found but there is no active abbreviated combined condition subject. FIXCAT keyword: COB0501T/K
Temporary fix
Comments
APAR Information
APAR number
PI06899
Reported component name
ENT COBOL FOR Z
Reported component ID
5655W3200
Reported release
510
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-11-25
Closed date
2014-01-15
Last modified date
2014-02-05
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGYQPR03
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655W3200
Applicable component levels
R510 PSY UI14448
UP14/01/25 P F401
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":"5.1","Edition":"","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}},{"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":"5.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
05 February 2014