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 Oct 28, 2020

Enterprise Cobol - Compiler option to enable / disable DEBUGGING-MODE

To date, the activation of debugging lines, marked with a "D" in column 7, can only be activated / deactivated by intervening at the source code level, by specifying or removing the "WITH DEBUGGING MODE" clause in the Environment Division.

We would like the debug lines to be able to be enabled / disabled by a compilation option, (like the "INITIAL" option which activates the "IS INITIAL" clause on the PROGRAM-ID).

Idea priority Medium
  • Guest
    Reply
    |
    Mar 21, 2022

    Posted by accident...

    // SET DEBUG=ON

    //* SET DEBUG=OFF

    //SYSLIB DD DISP=SHR,DSN=prefix.DEBUG.&DEBUG

  • Guest
    Reply
    |
    Mar 21, 2022

    Another alternative is to put the "with debugging mode" or empty text in a copybooks in separate libraries, and then select the desired library with a JCL parameter.

    // SET DEBUG=ON

  • Guest
    Reply
    |
    Jan 28, 2021

    So, why "declined" status and not "Uncommitted Candidate" ?

  • Guest
    Reply
    |
    Jan 26, 2021

    This RFE has recently been appraised against the wider product strategy and does not fall into IBMs delivery plans for the next 24 months. We do agree that this RFE is valid and hence we might look to deliver longer term, but 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.

  • Guest
    Reply
    |
    Dec 7, 2020

    Thank you for the info. We are discussing this RFE further.

  • Guest
    Reply
    |
    Dec 4, 2020

    PS : compilation option (outside source code), not compilation directive (inside source code)

    "PARM='DEBUGMODE(value)'" or "CBL DEBUGMODE(value)", not ">>DEBUGMODE(value)".

    This solution also makes it possible to introduce "D" lines in COPYBOOKs that can be activated at compilation time without the developer having to modify their source code, (compilation procedures and technical COPYBOOKs are under the control of a administration team, and cannot be modified by the development teams).

  • Guest
    Reply
    |
    Dec 4, 2020

    The activation of debug mode by a conditional compilation variable is a solution that I myself proposed. However, it requires "cooperation" from the program and the developer to set up conditional compilation in the source code.

    I think the correct solution is to use a compilation directive with 3 options:
    - give priority to the declaration made in the source code of the program ("with debugging-mode" clause)
    - deactivate the debug mode whatever the declaration made in the source code (the "D" and declarative lines will be ignored even if the "with debugging-mode" clause is present)
    - force debug mode whatever the declaration made in the source code (and if no "D" line, or declarative, is present in the source code this will have no effect)

    Or for each of the modes described above:
    - DEBUGMODE (ASIS): according to the DEBUGGING-MODE clause of the source code
    - DEBUGMODE (OFF): disables DEBUGGING-MODE
    - DEBUGMODE (ON): force DEBUGGING-MODE

  • Guest
    Reply
    |
    Dec 3, 2020

    Hi, a solution is currently available:
    Here is how to do it, first the JCL:

    //*PARM.COBOL=' RENT LIST DEFINE(WITH-DEBUGGING-MODE=B"0") '
    // PARM.COBOL=' RENT LIST DEFINE(WITH-DEBUGGING-MODE=B"1") '

    Then the COBOL:

    CONFIGURATION SECTION.
    Source-computer. ibm-blue
    >>DEFINE WITH-DEBUGGING-MODE as PARAMETER
    >>IF WITH-DEBUGGING-MODE
    with debugging mode
    >>END-IF

    Please let us know if this does not satisfy your request.

  • Guest
    Reply
    |
    Nov 25, 2020

    oups ! Posting from my smartphone (iPhone) creates duplicates ...

  • Guest
    Reply
    |
    Nov 24, 2020

    CBL DEFINE(DEBUG,b'1')

    >>if DEBUG
    ...WITH DEBUGGING MODE
    >>end-if
    ...
    PROCEDURE DIVISION
    ...
    D Display ”debugging mode active”

  • Guest
    Reply
    |
    Nov 24, 2020

    CBL DEFINE(DEBUG,b'1')

    >>if DEBUG
    ...WITH DEBUGGING MODE
    >>end-if
    ...
    PROCEDURE DIVISION
    ...
    D Display ”debugging mode active”

  • Guest
    Reply
    |
    Nov 24, 2020

    CBL DEFINE(DEBUG,b'1')

    >>if DEBUG
    ...WITH DEBUGGING MODE
    >>end-if
    ...
    PROCEDURE DIVISION
    ...
    D Display ”debugging mode active”

  • Guest
    Reply
    |
    Nov 24, 2020

    CBL DEFINE(DEBUG,b'1')

    >>if DEBUG
    ...WITH DEBUGGING MODE
    >>end-if
    ...
    PROCEDURE DIVISION
    ...
    D Display ”debugging mode active”