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 Future consideration
Workspace IBM i
Categories Languages - RPG
Created by Guest
Created on Feb 22, 2019

Case sensitive RPG

Provide a control option to maken RPG case sensitive (procedure names, variables, …) so that enforcing programming standards becomes more easy.


Use Case:

I'm not requesting that variable "A" and "a" are two different variables , but rather that the compiler would check against the declare statement of the variable.


Idea priority Medium
  • Admin
    Nancy Uthke-Schmucki
    Reply
    |
    Jan 17, 2023

    The CAAC has reviewed this IBM Idea and recommends that IBM not implement this request. Each company has their own coding standards. By forcing the compiler to flag the case, it would potentially break the company standards. This seems to be purely aesthetic, and does not bring value to the IBM i Community.


    Background: The COMMON Americas Advisory Council (CAAC) members have a broad range of experience in working with small and medium-sized IBM i customers. CAAC has a key role in working with IBM i development to help assess the value and impact of individual IBM Ideas on the broader IBM i community, and has therefore reviewed your Idea.


    For more information about CAAC, see www.common.org/caac


    Nancy Uthke-Schmucki - CAAC Program Manager

  • Guest
    Reply
    |
    Apr 16, 2020

    IBM will use this request as input to planning but no commitment is made or implied. This request will be updated in the future if IBM implements it. IBM will use votes and comments from others in the community to help prioritize this request.

  • Guest
    Reply
    |
    Apr 10, 2019

    About whether this would be a solution for RFE 99792, it's related for sure. But the compiler would still have to make the change requested by 99792 to strip the quotes from the alternate names. If the alternate name is "CustomerAddress", and the short name is CUSTADR, the compiler would currently use the name CUSTADR since it ignores alternate names with quotes. It wouldn't recognize the name CustomerAddress as referring to the CUSTADR field or subfield.

  • Guest
    Reply
    |
    Apr 10, 2019

    I'm not sure what is meant by having the compiler automatically fixing the case. The compiler would never change the source code. And it wouldn't correct the case of the name in the compile listing.

    For names defined in the same source file, or names defined in copy files where the definition was mixed case, I think the case on the definition would be the official case. For names defined by externally described files and data structures, using the case of the first use, as RDi does, seems like a good option. And maybe the same would apply to names defined in copy files in all uppercase, although some programming standards might say to use say all uppercase for named constants. For copy files, there could be a directive saying to respect the case of anything defined in the copy file.

    If this feature was implemented in the compiler, I think there would have to be two levels: enforce and warn.

    For me, one of the best things about this would be that the error messages and cross reference would use the mixed-case version of the name. I especially dislike the way the cross reference is all upper case. It's sometimes really hard to read long names.

    I guess there could be a third option, just to maintain the first-use mixed-case version of the name in the dictionary, without any checking for differences.

  • Guest
    Reply
    |
    Apr 10, 2019

    This might also be a solution for RFE 97792

  • Guest
    Reply
    |
    Apr 10, 2019

    This would be of enormous benefit to “young” people coming to the platform from other languages, where case sensitive is standard.
    One of the considerations is externally defined files/data structures, where the field names are all upper case. Perhaps the RPG compiler could treat these fields the same way the outline view in RDi treats them - the first use of the variable name becomes the case version.
    Another nice to have (perhaps a separate RFE) would be if the LPEX editor could auto-correct the casing of a variable name, to ensure compliance. I would sooner have this as opposed to having the compiler alter the code.

  • Guest
    Reply
    |
    Feb 27, 2019

    A great Idea. But instead of warning, it should automatically fix the case. Since it knows that the variable was declared, it should fix according to the declaration. Also add a compiler option to just fix the case and not to compile yet.