This portal is to open public enhancement requests against IBM Z Software products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).
We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:
Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,
Post an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.
IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.
ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.
IBM Enterprise COBOL for z/OS is a continuous delivery offering, and aims to satisfy the needs of a rapidly evolving market segment. Product strategy evolves and requirements are continuously evaluated against that strategy. This RFE has recently been reappraised against the wider product strategy and does not fall into IBMs delivery plans for the next 12 month. Whilst this RFE might be valid and we might look to deliver longer term, this RFE is being rejected at this time. The requirement will be kept in our internal RFE backlog and might be reassessed in the future.
This RFE is being accepted
Due to processing by IBM, this request was reassigned to have the following updated attributes:
Brand - Servers and Systems Software
Product family - Programming Languages
Product - COBOL Compilers
For recording keeping, the previous attributes were:
Brand - Rational
Product family - Design & development
Product - COBOL Compilers
Hi, I just checked and this RFE does show up in the search:
Can you please try again? Note: The results page may span more than one page. You will have to click on 'Next' to view the remaining.
Note: This RFE is not being returned in the following search:
Brand: Rational
Product family: Design & development
Product: COBOL Compilers
Component: Miscellaneous
Status: All statuses
Visibility: All
Example 1 (uses CONTINUE instead of NEXT SENTENCE):
IF MYCOND
CONTINUE
ELSE
PERFORM DO-IT
END-IF *> a period can go here but the behavior is the same either way; DONT-DO-IT is awlays performed, no matter if MYCOND is true or not.
PERFORM DONT-DO-IT.
PERFORM ALWAYS-DO-IT.
Example 2 (If the MYCOND condition is true then the next statement to be executed is the one following the END-IF (because it is terminated by a period)):
IF MYCOND
NEXT SENTENCE
ELSE
PERFORM DO-IT
END-IF. *> if a period is present then the behavior is the same as when CONTINUE is used instead of NEXT SENTENCE: DONT-DO-IT is awlays performed, no matter if MYCOND is true or not.
PERFORM DONT-DO-IT.
PERFORM ALWAYS-DO-IT.
Example 3 (If the MYCOND condition is true then the next statement to be executed is the one following the "PERFORM DONT-DO-IT" (because it is terminated by a period) The PERFORM DONT-DO-IT statement itself is not executed if MYCOND is true, because there is no period following the END-IF and COBOL states that a NEXT SENTENCE "jumps" to the statement following the next period):
IF MYCOND
NEXT SENTENCE
ELSE
PERFORM DO-IT
END-IF *> Without the period here if MYCOND is true above then the following statement is bypassed; most likely unintentionally.
PERFORM DONT-DO-IT.
PERFORM ALWAYS-DO-IT.
I can see a new compile option with four possible options:
- NEXTSENT(STD): Standard COBOL NEXT SENTENCE behavior with no warnings.
- NEXTSENT(WARN): Warn about any use of NEXT SENTENCE
- NEXTSENT(NO): Disallow use of NEXT SENTENCE
- NEXTSENT(CONT):Only warn in situations where specifying NEXT SENTENCE gives behavior that is not identical had CONTINUE been used in its place.
When NEXTSENT(STD): No warnings or errors issued for any of the 3 examples. This is the current behavior
When NEXTSENT(WARN): Use of NEXT SENTENCE in examples 2 and 3 cause a warning condition.
When NEXTSENT(NO): Use of NEXT SENTENCE in examples 2 and 3 cause an error condition.
NEXTSENT(CONT): Use of NEXT SENTENCE in example 3 only causes a warning condition.
The RFE is specifically for the situation represented by NEXTSENT(CONT), but the other options seem reasonable as well.
If this still doesn't make sense please let me know, as I believe that you should be able to fulfil the requirement as stated.
After further evaluation, we have a clarification question of when would we flag NEXT SENTENCE and when would we NOT flag it?
We could have the compiler always put out a message, but we won't be able to tell if it might result in 'unexpected behavior'.
Would it be OK via an option that gives a warning message for any use of NEXT SENTENCE?
Thanks.
This RFE is inline with our multi year strategy. Once this RFE has been put in plan, it will be updated accordingly.