Skip to Main Content
IBM Z Software


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).


Shape the future of IBM!

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:

Search existing ideas

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 your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

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.

Status Not under consideration
Workspace COBOL Compilers
Created by Guest
Created on Jul 23, 2018

Abbreviation of the directive >> IF constant-conditional-expression

The ">>IF constant-conditional-expression" directive could support a simplified expression:

>>IF compilation-variable-name

- this expression would be true if: (compile-variable-name is defined) AND (its value is equal to B'1', or an integer value other than 0, or a non-empty alphanumeric literal or a alphanumeric literal other than SPACE)

- this expression would be false if: (compilation-variable-name is not defined) OR (its value is equal to B'0', or the integer value 0, or an empty alphanumeric literal, or a alphanumeric literal SPACE)

Currently, the expression ">> IF compile-variable-name is defined" is true regardless of the compile-variable-name value (even for the value B'0'), and test on an undefined compile-variable-name triggers a message "IGYLI0245-E "compilation-variable-name" was not defined as a variable compilation. A value of 1 was assumed for the variable".

This proposal can also apply to format 2 of the ">> EVALUATE" directive:

>> EVALUATE TRUE
>> WHEN compilation-variable-name

The assignment of the default value B'1' to an undefined compilation-variable-name does not seem to be a good choice because it implicitly implies the inclusion of a text conditioned by this compilation-variable-name. The default value of an undefined compilation-variable-name should be B'0', which would partially achieve the result described above.

Idea priority Low
  • Guest
    Reply
    |
    Sep 1, 2018

    Attachment (Description): Boolean condition

  • Guest
    Reply
    |
    Sep 1, 2018

    Attachment (Description): Constant conditional expression

  • Guest
    Reply
    |
    Sep 1, 2018

    The Cobol standard allows a "boolean expression" as a "constant conditional expression".
    The form ">>IF boolean-expression" is therefore allowed by the Cobol standard.
    See attachments.

  • Guest
    Reply
    |
    Aug 31, 2018

    Hi, thank you for submitting this RFE, however it does not conform to the COBOL Standard. As a result, this RFE is being rejected.