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 Future consideration
Workspace COBOL Compilers
Created by Guest
Created on Jan 13, 2021

Enterprise COBOL - MDECK(NOCOMPILE) must produce a cross-reference COPY/BASIS report

A COBOL program compiled with the MDECK(NOCOMPILE) option for the purpose of expanding COPYBOOKs, handling text replacements, and incidentally handling conditional compilation directives, produces a listing that is limited to the list of options for compilations used and the compilation statistics.

The processing of the COPY and REPLACE directives is not present in the produced listing.

The processing of COPYBOOKs and replacement directives must produce a "COPY/BASIS cross-reference of text-names, library names and dataset information" report as in the case of a standard compilation with production of an object module.

Without this, there is no possibility to know the COPYBOOKs which participated in the creation of the source code to expand with the MDECK(NOCOMPILE) option.

Note: in the context of a compilation with the MDECK(NOCOMPILE) option, the list of compilation options could be limited to those which have an impact on the source code created as output.

Idea priority Medium
  • Guest
    Reply
    |
    May 3, 2021

    This RFE has been accepted and will be updated once put into plan.

  • Guest
    Reply
    |
    Feb 17, 2021

    Thanks for the reply. We are investigating and reviewing your reply.

  • Guest
    Reply
    |
    Feb 1, 2021

    I also think that the included copybooks table should appear in the SYSMDECK output as comments, in addition to the listing, to keep track of references through the various COBOL source processing processes.

  • Guest
    Reply
    |
    Jan 28, 2021

    The MDECK(COMPILE) compilation option does not meet our need: we do not want to process EXEC SQL statements but just produce a source file containing the inclusion of the COPYBOOKs (COBOL COPY directives, SQL INCLUDE directives), and possibly the processing of COBOL REPLACE directives, plus processing conditional compilation directives (actually source code conditional processing directives).

    In our context of use, the EXEC SQL statements are processed by the Db2 preprocessor: we do not want to use the Db2 coprocessor integrated into the COBOL compiler (for reasons already mentioned in other requests).

    The Db2 preprocessor requires that all descriptions necessary to process EXEC SQL statements be available, either described directly in the source code, or referenced through EXEC SQL INCLUDE directives, (not COBOL COPY directives).
    EXEC SQL INCLUDE directives do not have the same possibilities as COBOL COPY directives, in particular they do not allow REPLACING. For this reason, we want the descriptions of Db2 resources (hosts-variables) to be included by means of COBOL COPY directives with the REPLACING option, and not by means of EXEC SQL INCLUDE directive.
    Since the Db2 preprocessor does not process COBOL COPY directives, we want to preprocess the COBOL source code by means of a pseudo compilation with the MDECK(NOCOMPILE) option.

    The sequence of steps is therefore:
    - COBOL preprocessing with MDECK(NOCOMPILE) option to process COBOL COPY directives, in particular the descriptions of host-variables used in EXEC SQL statements
    - Db2 preprocessor to process EXEC SQL statements
    - COBOL compilation to produce an object module

  • Guest
    Reply
    |
    Jan 26, 2021

    MDECK(COMPILE) was actually meant for this purpose. Is there a specific reason why MDECK(COMPILE) can't be used here?