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 Sep 13, 2022

Question: support of ALTERNATE DDNAME LIST for COBOL programs

Hi, Is the use of ALTERNATE DDNAME LIST possible with programs created by the IBM Enterprise COBOL compiler? If yes, how to know the order of the ddnames at the level of the compiled program? If not, register a change request to allow it. Reason: in the compilation chain under IBM Dependency Based Build, but it could also concern SCLM, Jazz/RTC, or other products, we want to introduce programs that we develop ourselves, in COBOL. These programs have the same needs as the IBM utilities that are the compiler, the Db2 precompiler, the binder, IEBCOPY, etc.
Idea priority Low
  • Admin
    Basil Kanneth
    Reply
    |
    Nov 23, 2022

    This Idea is being rejected based on comments from Oct 26 and Nov 10th.

  • Admin
    Basil Kanneth
    Reply
    |
    Nov 10, 2022

    Hi Denis, one correction to the previous update, you cannot change DDNAME, but you can change which file you are accessing dynamically at run time,which is basically what having different DDNAMEs would provide. Thanks.

  • Admin
    Basil Kanneth
    Reply
    |
    Oct 26, 2022

    Hi Denis,

    You can use dynamic allocation to change DDNAMEs at runtime. Please have a look at the COBOL Programming Guide under 'Allocating files' and the 'environment-variable' sections:
    https://www.ibm.com/docs/en/cobol-zos/6.4?topic=files-allocating

  • Guest
    Reply
    |
    Oct 12, 2022

    Hi,

    I would like to control the ddnames when running the program, in order to develop utilities that I could integrate into IBM Dependency Based Build scripts.

    As the same utility program could be executed several times in a IBM DBB Job, or use files produced in previous IBM DBB steps, IBM DBB forces the ddnames to be modified at runtime (otherwise errors are triggered in BPXWDYN if the ddname is already used).

  • Admin
    Basil Kanneth
    Reply
    |
    Sep 29, 2022

    Hi Denis, can you please clarify if you need the ability to process DDNAMES at COBOL runtime of your own application or at COBOL Compile time?

  • Guest
    Reply
    |
    Sep 27, 2022

    Hi,

    After research, I understood that indeed the ddname files allocation list were managed programmatically, and that this supposed to use some form of parameters passing which is perhaps not compatible with high level languages like COBOL, which expect a list of parameters in the form of a sequence of addresses pointed to by register R1.

    The information should be passed through the PARM= option on the EXEC PGM line, in 2nd position, and in the format of a characters string preceded by 2 binary bytes containing the length of the string...

    If it was a 1st position, we could retrieve the information by the PROCEDURE USING of a COBOL program... but in 2nd position I don't know how to do it in COBOL...

  • Guest
    Reply
    |
    Sep 13, 2022

    Hi Dennis,

    The order of the ddnames in an alternate ddname list is determined and supported by the application itself (eg. the COBOL compiler) to which the alternate ddname list is passed. From the perspective of implementing something like this in a COBOL program, you'd need the ability to open a file with a ddname other than what's in the ASSIGN clause for the file.

    Currently there is the ability to do ASSIGNment via an environment variable (see https://www.ibm.com/docs/en/cobol-zos/6.4?topic=section-assign-clause ), one possible solution would be to extend this with a DDNAME() option (in addition to the current DSN() and PATH() options).

    Bernie