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
Categories z/OS
Created by Guest
Created on Jul 17, 2022

Enterprise COBOL V6+ - Declaring multiple conditional compilation variables on the same >>DEFINE directive

Hi, We have developed COPYBOOKs which adapt to the context according to the conditional compilation variables. Before referring to the COPYBOOK, we declare a number of variables that give this context. Today, you have to create as many lines containing a >>DEFINE directive as there are variables to manage: this weighs down the source code. We would like it to be possible to declare several variables with the same >>DEFINE directive. Example: cdS95C >>define AA-A-ACCES as 'L' cdS95C >>define AA-A-MODE as 'S' cdS95C >>define AA-A-ORG as '2' cdS95C >>define AA-A-NR as -1 cdS95C >>define AA-A-NS as 0 cdS95C copy AAAPACCE cdS95C replacing ==:DD:== by ==S9== cdS95C ==:PREF:== by ==S95C== cdS95C ==:NS:== by ==0== cdS95C . would become: cdS95C >>define AA-A-ACCES as 'L', AA-A-MODE as 'S', AA-A-ORG as '2' cdS95C >>define AA-A-NR as -1, AA-A-NS as 0 cdS95C copy AAAPACCE cdS95C replacing ==:DD:== by ==S9== cdS95C ==:PREF:== by ==S95C== cdS95C ==:NS:== by ==0== cdS95C . And taking into account our ideas COBOLVUE-I-335 on the directive continuation, this would give: cdS95C >>define AA-A-ACCES as 'L', AA-A-MODE as 'S', AA-A-ORG as '2' cdS95C >>- AA-A-NR as -1, AA-A-NS as 0 cdS95C copy AAAPACCE cdS95C replacing ==:DD:== by ==S9== cdS95C ==:PREF:== by ==S95C== cdS95C ==:NS:== by ==0== cdS95C .
Idea priority Low
  • Admin
    Basil Kanneth
    Reply
    |
    Sep 6, 2022

    Although the current Idea tries to reduce the number of lines that need to be written, we believe the existing design is easier to read and understand.

    Also, other languages like C don't allow the directive continuations.

    As a result, we will be rejecting this considering there are other features being worked on for conditional compilation.

  • Admin
    Basil Kanneth
    Reply
    |
    Aug 3, 2022

    This Idea is being assessed further and needs more time.

  • Guest
    Reply
    |
    Jul 17, 2022

    Hi,

    We have developed COPYBOOKs which adapt to the context according to the conditional compilation variables.

    Before referring to the COPYBOOK, we declare a number of variables that give this context.

    Today, you have to create as many lines containing a >>DEFINE directive as there are variables to manage: this weighs down the source code.

    We would like it to be possible to declare several variables with the same >>DEFINE directive.

    Example:

    cdS95C >>define AA-A-ACCES as 'L'

    cdS95C >>define AA-A-MODE as 'S'

    cdS95C >>define AA-A-ORG as '2'

    cdS95C >>define AA-A-NR as -1

    cdS95C >>define AA-A-NS as 0

    cdS95C copy AAAPACCE

    cdS95C replacing ==:DD:== by ==S9==

    cdS95C ==:PREF:== by ==S95C==

    cdS95C ==:NS:== by ==0==

    cdS95C .

    would become:

    cdS95C >>define AA-A-ACCES as 'L', AA-A-MODE as 'S', AA-A-ORG as '2'

    cdS95C >>define AA-A-NR as -1, AA-A-NS as 0

    cdS95C copy AAAPACCE

    cdS95C replacing ==:DD:== by ==S9==

    cdS95C ==:PREF:== by ==S95C==

    cdS95C ==:NS:== by ==0==

    cdS95C .

    And taking into account our ideas COBOLVUE-I-335 on the directive continuation, this would give:

    cdS95C >>define AA-A-ACCES as 'L', AA-A-MODE as 'S', AA-A-ORG as '2'

    cdS95C >>- AA-A-NR as -1, AA-A-NS as 0

    cdS95C copy AAAPACCE

    cdS95C replacing ==:DD:== by ==S9==

    cdS95C ==:PREF:== by ==S95C==

    cdS95C ==:NS:== by ==0==

    cdS95C .