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.

ADD A NEW IDEA

Languages - RPG

Showing 48
126 VOTE

New built-in function %SPLIT.

The new built-in function %SPLIT can be used to extract an array of elements from a source string. Use Case: DCL-S myArray VARCHAR(255) DIM(255);DCL-S myString VARCHAR(32767) INZ('a;b;c');DCL-C MY_SEPARATOR ';'; myArray = %SPLIT(myString : MY_SEPA...
almost 7 years ago in IBM i / Languages - RPG 20 Delivered
118 VOTE

For RPG extend array capabilities

Extend arrays and data-structure arrays to be really dynamic without having to use base pointer and memory allocation. Without having to give number of max elements in dim(), e.g. dim(*varying) or dim(*dynamic) or dim(*automatic).Provide functiona...
almost 8 years ago in IBM i / Languages - RPG 9 Delivered
112 VOTE

Provide an %UPPER and %LOWER bif

It would be helpful to have an easier and more robust way to change the case of characters from upper to lower or lower to upper. The current method is to use the %XLATE function, but the usual way that this is coded (just using the main 26 letter...
almost 8 years ago in IBM i / Languages - RPG 17 Delivered

Provide %InList Built In Function

Provide a new BIF %InList() or %OrList() to check if a variable's value exit in list. Use Case: Dcl-S MyState Char(2) Inz('CA') If %InList(MyVar : 'CA' : 'NV': 'AZ': 'NM': 'NY'); do somethingEndIf; Or If %InList(MyVar : ',' : 'CA,NV,AZ,NM,NY'); //...
almost 8 years ago in IBM i / Languages - RPG 15 Delivered

provide "between" operator in rpg expressions

Provide "between" in rpg logical expressions Use Case: if a >=b and a<=c ;could be replaced by :if a between b and c;
about 8 years ago in IBM i / Languages - RPG 11 Delivered

Allow direct coding of nested data structures in free-form declarations

The new free-form data declarations in RPG IV lend themselves to direct coding of true nested data structures. Allowing these to be coded directly would avoid having to code a lot of unnecessary templates that exist for no other reason than to nes...
about 8 years ago in IBM i / Languages - RPG 6 Delivered

Enhancement to SELECT

Currently there is no difference between a SELECT ... ENDSL block and an IF ... ELSEIF ... ENDIF block. I am not real sure why both are in the language. However, if the SELECT block had a "switched" format like the SWITCH block in C, that would be...
about 5 years ago in IBM i / Languages - RPG 13 Delivered

Add New BIF's %right() and %left()

While %left(str: int) can be done with a %subst(str: 1: int), %right(str: int) is not so straight forward. %right(str: int) must be written as %subst(str: %len(%trimr(str)) - (int - 1)) This is far less readable. Please add convenience BIF's %left...
almost 8 years ago in IBM i / Languages - RPG 14 Delivered

Allow a BIF that checks to see if a parameter is passed

Please introduce a new BIF that will indicate if a parameter has been passed with actual data, as opposed to not passed or passed with *OMIT. Use Case: To check to see if a parameter defined as OPTIONS(*NOPASS) or ...*OMIT) was passed with data, I...
over 3 years ago in IBM i / Languages - RPG 11 Delivered

%int() and %dec()does not allow blank character string

If I use a character string that only contain spaces or a variable character string with length=0 then %int() and %dec() returns with an escape message RNX0105 - "A character representation of a numeric value is in error.". I have studied the manu...
almost 7 years ago in IBM i / Languages - RPG 7 Delivered