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 Jan 21, 2023

Enterprise COBOL V6+ - Keep the optimization of MOVE during the prolog program on the group data-items declared VOLATILE

Hi

When the VOLATILE clause is present on a group zone that contains data-item with VALUE clauses (these data-items are constant and are never modified in procedure, these can be considered as a signature of the program), the optimization of the global MOVE during the initialization prolog is disabled.

See attachement for example.

This is a problem for us because we want to be able to find in the "constant area" all the values assigned to the volatile area in a single string with same order as declarations, (we use an utility for extracting information from the loadmodule).

We don't have the ability to declare values using a single VALUE.
We would like the optimization to be applied during the initialization of the Working-Storage during prolog program, even if the data-items are declared VOLATILE, as describe in https://www.ibm.com/docs/en/cobol-zos/6.2?topic=v6-move.

Thanks.

 

Idea priority Low
  • Admin
    Basil Kanneth
    Reply
    |
    Apr 11, 2023

    This Idea has been discussed further and it would not be an easy task to for the compiler to detect and implement this.

    The other suggested workaround would be to consider removing the VOLATILE keyword so that the optimization is not disabled.

    Another factor is that this IDEA does not have many votes.

    Due to the above reasons, this Idea is being rejected.

  • Guest
    Reply
    |
    Feb 27, 2023

    Hi,

    As indicated in my request, setting the value globally in a single PICTURE is unfortunately not possible in our context: the values are set up by an automatism which currently cannot work globally. Moreover the values are in fact set up by means of a COPYBOOK with REPLACING.


    The need to extract the values is to maintain compatibility with an older, now deprecated product.

    This deprecated product is called IBM VisualAge Pacbase.


    The information extraction tool is (was) delivered with the IBM VisualAge Pacbase product, via a loadmodule named BVPACCST.


    We are no longer going to develop a COBOL program with IBM VisualAge Pacbase, but in our new developments, we must maintain this management of traceability information by extracting timestamp information from COBOL sources because it has become a standard.

    The information extracted is used to prove the correspondence between the source code and the loadmodule used.

    We also use the SERVICE compilation option integrated directly into our source codes, but our existing one is based on the data present in the Working-Storage Section and we have to deal with it.

  • Admin
    Basil Kanneth
    Reply
    |
    Feb 27, 2023

    Hi, thank you for submitting this Idea. We had a look at your attachment file.

    At the momment, we don't have plans on changing how the MOVE works when VOLATILE is working.

    However, as a workaround, we recommend for CONSTANTES-PAC to use a single PIC value that is big enough to hold all the constants; and then aftwards to do a re-define to obtain the individual contstants for your program.

    We also wanted to know why you need to extract these constant values ie you mentioned that you use a utility for extracting information from the loadmodule. What is that information used for after you extract it?