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 Is a defect
Workspace IBM i
Categories Languages - RPG
Created by Guest
Created on Apr 13, 2016

Template fields generate erroneous RNF7031

I always clean up unused variables before program implementation and when I double click on the Error List tab in RDi after compiling a program, each template field is followed by "RNF7031: The name or indicator <field name> is not referenced" even though they were used to define other variables. This message should not be generated if the template field is used to define other fields within the program. If the developer believes the message and deletes the line, the program will not compile.


Use Case:

Compile RPG program with template fields through RDi.
Click on any message in the Error List view.


Idea priority Low
  • Guest
    Reply
    |
    May 11, 2016

    IBM has identified this as a defect requiring a change to the RPG compiler. Please contact your service representative to open a PMR, and mention this RFE.

    However, please note that the problem with standalone template fields has already been fixed in the 7.2 compiler, so any further fix would be for the issue with the subfields of a template data structure.

  • Guest
    Reply
    |
    May 11, 2016

    Ok, I see that on 7.1, standalone template fields do get RNF7031 even if they are used in a LIKE definition. That doesn't happen on 7.2. On 7.2, the problem only occurs for subfields. When I did my initial investigation for this, I must have used a 7.2 system.

    Here is the listing for your code on a 7.2 system:

    Global Field References:
    Field Attributes References (D=Defined M=Modified
    *RNF7031 CHANGECOMPANY A(1) 5D
    PROTOTYPE
    *RNF7031 SAVCONO P(3,0) 2D
    TCONO P(3,0) 1D 2 7
    TEMPLATE

  • Guest
    Reply
    |
    May 10, 2016

    This RFE pertains to stand alone fields such as the following, NOT the subfields of a template data structure:

    D tCono s 3 0 template
    D Savcono s like(tCono)

    * Prototype to change company
    D changeCompany...
    D Pr 1
    D p@Cono const like(tCono)

    The D-spec for tCono will generate an RNF7031 message even though the template field is used to define another stand alone field AND is used in a prototype.

  • Guest
    Reply
    |
    May 9, 2016

    Just to clarify, this issue is related to the subfields of a template data structure. For the following source, SUB1 and SUB2 of the DS_T data structure get RNF7031.

    dcl-ds ds_t qualified template;
    sub1 char(10);
    sub2 char(10);
    end-ds;
    dcl-ds ds likeds(ds_t);
    ds.sub1 = 'a';
    ds.sub2 = 'b';
    return;

  • Guest
    Reply
    |
    May 5, 2016

    Due to processing by IBM, this request was reassigned to have the following updated attributes:
    Brand - Servers and Systems Software
    Product family - Power Systems
    Product - IBM i
    Component - Languages - RPG
    Operating system - IBM i
    Source - None

    For recording keeping, the previous attributes were:
    Brand - Servers and Systems Software
    Product family - Programming Languages
    Product - RPG Compiler
    Component - Product functionality
    Operating system - IBM i
    Source - None

  • Guest
    Reply
    |
    Apr 14, 2016

    Creating a new RFE based on Community RFE #86857 in product RPG Compiler.