A fix is available
APAR status
Closed as new function.
Error description
A new suboption NOOMITODOMIN has been added to the RULES option which causes the compiler to report cases where the minimum size of an ODO table has been omitted from its definition, which may be inadvertent and may cause an unexpected maximum size for the table, which in turn could lead to memory overwrites.
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V6.2 who would * * like to be notified by the compiler when * * the minimum number of occurrences of an * * OCCURS DEPENDING ON clause is missing * * (integer-1 of format-2 of the OCCURS * * clause). * **************************************************************** * PROBLEM DESCRIPTION: New function: Customers will be * * notified by a compile time warning * * message that the minimum number of * * occurrences of an OCCURS DEPENDING ON * * clause is missing. This APAR adds a * * new RULES suboption that allows this * * warning message to be issued. * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * **************************************************************** When the minimum number of occurrences of an OCCURS DEPENDING ON clause is missing, some COBOL users find the clause counter intuitive and/or misleading. They would like to be warned of such a usage by a compile time message.
Problem conclusion
Temporary fix
Comments
The compiler is changed to add two new suboptions to the RULES compiler option: RULES(OMITODOMIN) and RULES(NOOMITODOMIN). +-------------------------------------------------------------- + | Start of changes for: | | Enterprise COBOL for z/OS Programming Guide, SC27-8714-01 | RULES option syntax .-NORULES--------------------------------. | .-,---------------------. | | V .-ENDPERIOD---. | | >>-+-RULES--(----+-+-NOENDPERIOD-+---+-+--)-+------------------ > | .-EVENPACK---. | +-+-NOEVENPACK-+----+ | .-LAXPERF---. | +-+-NOLAXPERF-+-----+ | .-SLACKBYTES---. | +-+-NOSLACKBYTES-+--+ | .-OMITODOMIN---. | +-+-NOOMITODOMIN-+--+ | .-UNREF---------. | '-+-NOUNREFALL----+-' '-NOUNREFSOURCE-' Default is: NORULES Abbreviations are: ENDP = ENDPERIOD EVENP = EVENPACK LXPRF = LAXPERF SLCKB = SLACKBYTES OOM = OMITODOMIN NOUNRA = NOUNREFALL NOUNRS = NOUNREFSOURCE ... OMITODOMIN | NOOMITODOMIN The default is OMITODOMIN. Specifying NOOMITODOMIN causes the compiler to issue warning messages for any OCCURS DEPENDING ON clauses that are missing integer-1 (the minimum number of occurrences). For more information about the OCCURS DEPENDING ON clause, see Variable-length tables in the Enterprise COBOL for z/OS Language Reference. ... If the RULES option is specified with no suboptions, the default is Start of changeRULES(ENDPERIOD,EVENPACK,LAXPERF,SLACKBYTES,OMITODOMIN,UN REF) | End of changes for: | | Enterprise COBOL for z/OS Programming Guide, SC27-8714-01 | +-------------------------------------------------------------- + +-------------------------------------------------------------- + | Start of changes for: | | Enterprise COBOL for z/OS Customization Guide, SC27-8712-01 | Syntax .-NO------------------. | .-,---------------. | | V .-ENDP---. | | >>-RULES=--(--+---+-+-NOENDP-+--+-+-+--)----------------------- > | .-EVENP---. | +-+-NOEVENP-+-+ | .-LXPRF---. | +-+-NOLXPRF-+-+ | .-SLCKB---. | +-+-NOSLCKB-+-+ | .-OOM---. | +-+-NOOOM-+---+ | .-UNREF--. | '-+-NOUNRA-+--' '-NOUNRS-' Default RULES = (NO) Has the same effect as RULES=(ENDP,EVENP,LXPRF,SLCKB,OOM,UNREF). ... (NOOOM) Causes the compiler to issue warning messages for any OCCURS DEPENDING ON clauses that are missing integer-1. | End of changes for: | | Enterprise COBOL for z/OS Customization Guide, SC27-8712-01 | +-------------------------------------------------------------- + +-------------------------------------------------------------- + | Start of changes for: | | Enterprise COBOL for z/OS Language Reference, SC27-8713-01 | integer-1 The minimum number of occurrences. The value of integer-1 must be greater than or equal to zero, and it must also be less than the value of integer-2. If integer-1 is omitted, a value of 1 is assumed and the keyword TO must also be omitted. If integer-1 is omitted, you will receive warning messages if the RULES(NOOMITODOMIN) compiler option is in effect. For more information, see RULES in the Enterprise COBOL Programming Guide. | End of changes for: | | Enterprise COBOL for z/OS Language Reference, SC27-8713-01 | +-------------------------------------------------------------- +
APAR Information
APAR number
PI91585
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
620
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-12-14
Closed date
2018-01-19
Last modified date
2018-02-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGY8RWRD IGY8RWTU IGYCASMB IGYCCBE IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN IGYCDIAG IGYCDMAP IGYCDOPT IGYCEN$0 IGYCEN$1 IGYCEN$2 IGYCEN$3 IGYCEN$4 IGYCEN$5 IGYCEN$8 IGYCEN$D IGYCEN$R IGYCFGEN IGYCFREE IGYCINIT IGYCJA$0 IGYCJA$1 IGYCJA$2 IGYCJA$3 IGYCJA$4 IGYCJA$5 IGYCJA$8 IGYCJA$D IGYCJA$R IGYCLIBH IGYCLIBO IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOB2E IGYCOPI IGYCOSCN IGYCPGEN IGYCRCTL IGYCRDPR IGYCRDSC IGYCREAL IGYCRWT IGYCSCAN IGYCSIMD IGYCUE$0 IGYCUE$1 IGYCUE$2 IGYCUE$3 IGYCUE$4 IGYCUE$5 IGYCUE$8 IGYCUE$D IGYCUE$R IGYCXREF IGYDRV IGYEQCWI IGYMSGE IGYMSGK IGYMSGT IGYMSGXT IGYQCBE IGYZQDRV IGYZQENU IGYZQJPN
SC27871201 | SC27871301 | SC27871401 |
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R620 PSY UI53355
UP18/01/27 P F801
R621 PSY UI53356
UP18/01/27 P F801
R622 PSY UI53357
UP18/01/27 P F801
R62H PSY UI53358
UP18/01/27 P F801
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":"620","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
12 December 2023