Skip to Main Content
IBM Power Ideas Portal


This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. 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 IBM i
Categories Languages - RPG
Created by Guest
Created on Aug 29, 2017

New control specification - Merge Default - MRGDFT

I'm missing an option in the control-specification statements so I can specify an option and then tell the compiler that it should merge the defaults in the data areas RPGLEHSPEC or DFTLEHSPEC.

It could be MRGDFT(*YES) and MRGDFT(*NO)


Use Case:

Normally I have the default options in RPGLEHSPEC but it appears that I have to specify further options ie BNDDIR('QC2LE') or need to override one of the options in RPGLEHSPEC ie DECEDIT('0.') instead of DECEDIT('0,').

If I had an option MRGDFT(*YES) then I could do the following:
H DECEDIT('0.') MRGDFT(*YES)
or
H BNDDIR('QC2LE') MRGDFT(*YES)

and don't have to copy all the options into the source:
H DECEDIT('0.') DATEDIT(*DMY.) OPTION(*NODEBUGIO : *SRCSTMT)


Idea priority Medium
  • Guest
    Reply
    |
    Aug 31, 2017

    IBM does not intend to provide a solution to this request at this time, so it is being closed.

    Rather than rely on the data area, consider putting the standard keywords into a copy file. Keep the copy file in synch with the data area. For the cases where you want to use the data area and add additional keywords, code a /copy for the "standard" copy file and then add the additional keywords.

  • Guest
    Reply
    |
    Aug 30, 2017

    Jon, your idea about "last one wins" is something I've been thinking of for a long time, probably also with an option to "freeze" a keyword so some standard keywords in a copy file, like say COPYRIGHT, couldn't be overridden in a particular source file. But as far as I recall, I haven't ever heard anyone complain about not being able to repeat keywords like the OPTION keyword with multiple values; I seem to be the only person who's annoyed by that :-)

    But that would be a separate RFE.

  • Guest
    Reply
    |
    Aug 30, 2017

    I'd like to vote against this one.

    Default H specs are a legacy that frankly I'd be happy to see abolished altogether. I wish we'd never left it in the language when RPG IV was designed. It is so easy to include a standard set of options by including a /Copy at the start of the code - why confuse things with something the programmer can't easily look at?

    If there are multiple standards in play for different types of program then have a standard /Copy for each.

    If anything an override (rather than merge) might be more useful. That would basically allow a "last version of an option wins" scenario. That way you could override the standard setting - which appears to be what is requested here.