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 5, 2015

Implement dynamic-capacity tables

Implement dynamic-capacity tables as defined by the COBOL 2014 standard (INCITS/ISO/IEC 1989:2014 [2014]).

Idea priority Medium
  • Guest
    Reply
    |
    Sep 14, 2015

    Due to processing by IBM, this request was reassigned to have the following updated attributes:
    Brand - Servers and Systems Software
    Product family - Programming Languages
    Product - COBOL Compilers

    For recording keeping, the previous attributes were:
    Brand - Rational
    Product family - Design & development
    Product - COBOL Compilers

  • Guest
    Reply
    |
    Aug 4, 2015

    Thank you for bringing this RFE to our attention. But we believe that if implemented, it will be really slow and error prone. Some clients may have restrictions on using this. This is not in our multi-year strategy. Hence, we'll have to reject this RFE.

  • Guest
    Reply
    |
    Jul 10, 2015

    I thought I added this already, but..

    Firstly, OCCURS UNBOUNDED is only allowed in the linkage section. This means it is limited to:
    - Data passed to a program (you cannot create an 'unbounded' table in COBOL working-storage).
    - Data created using dynamic memory allocation (such as through CEEGTST and CEECZST, as mentioned below). You'd place the table definition in the linkage section, allocate memory for it, and then point the LS item to the address.

    Even the latter is of some limited use, because you have to know the number of elements in the table before you can allocate it.

    Dynamic-capacity tables, as defined by the COBOL 2014 standard, can have elements added (to the end) dynamically at run-time. There is no need to know ahead of time how many elements will end up being added to the table.

    I would imagine that these tables would be implemented at run-time using some sort of linked-list process (though in behavior they are required to act in almost all cases just like a fixed-length or occurs-depending table).

    I personally see this as one of the most important features that can be added to COBOL.

    As for adding COBOL 2002 features prior to adding COBOL 2014 features, I don't agree. Features should be added based on their usefulness, and not just how long they have been, ummm, "standard". Note that the TRIM function was only added to 2014!

    This is not to say I am not all for adding most of the features of COBOL 2002; I definitely am. But to me there are some things that aren't a priority, such as the Validate feature. I'd had for time to be spent on that feature that could be better spent elsewhere.

  • Guest
    Reply
    |
    Jul 9, 2015

    I am not sure, but could you define Tables with
    "occurs 1 to UNBOUNDED depending on var1"?
    Seems to work since COBOL V5.1, but not tested by me.

  • Guest
    Reply
    |
    Jul 9, 2015

    Added to GSE ADL watchlist.

  • Guest
    Reply
    |
    Jul 9, 2015

    That's part of COBOL standard 2014 and - not only therefore - necessary.

    But. In my personal opinion it would be more senseful to fulfill the requirements based on 2002-standard like:
    - bit/boolean support / Usage binary (MR0515073839/MR0511115749))
    - exeption handling / Exception processing (MR0515073840 / MR051111259)
    - allocate/free storage (MR0515073841)
    - Literal Concatenation (MR0511115654)
    - Conditional Compilation (MR0511115730)
    - Usage float (MR051111587)
    - Based Items and Pointers (MR0511115826)
    - Validate (MR0314122313 / MR0511115843)
    - ENTRY- / CALL-conventions (MR051111591)
    - Prototyping (MR0314122314)
    - User defined functions (MR051111322)
    - Tablesort (MR051111343)
    Wouldn't it?

  • Guest
    Reply
    |
    Jul 7, 2015

    This can be done today with CEEGTST, CEECZST, and SET ADDRESS OF. Having worked with developers on just such a technique, I am voting for this RFE as a more natural implementation.