IBM Support

SE64766 - RPGLE-CMPL-INCORROUT-MSGRNF0308 CRTSQLRPGI RPGPPOPT(*LVL1/*LVL2) WHEN NUMBER IS FOLLOWED ON NEXT LINE BY LETTER 'E' IN EXEC SQL

 APAR (Authorized Program Analysis Report)

Abstract

RPGLE-CMPL-INCORROUT-MSGRNF0308 CRTSQLRPGI RPGPPOPT(*LVL1/*LVL2)
WHEN NUMBER IS FOLLOWED ON NEXT LINE BY LETTER 'E' IN EXEC SQL

Error Description

When compiling an SQLRPGLE source member with RPGPPOPT(*LVL1)  
or *LVL2, msgRNF0308 may be issued incorrectly indicating      
that a float literal is invalid. This can occur when an SQL    
statement has a line ending in a numeric literal followed by a  
line beginning with the character 'E'.                          

Problem Summary

****************************************************************
* USERS AFFECTED: All ILE RPG programmers who compile with     *
*                 CRTSQLRPGI RPGPPOPT(*LVL1) or *LVL2.         *
****************************************************************
* PROBLEM DESCRIPTION: When compiling an SQLRPGLE source       *
*                      member with RPGPPOPT(*LVL1) or *LVL2,   *
*                      msgRNF0308 may be issued incorrectly    *
*                      indicating that a float literal is      *
*                      invalid. This can occur when an SQL     *
*                      statement has a line ending in a        *
*                      numeric literal followed by a line      *
*                      beginning with the character 'E'.       *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
When compiling an SQLRPGLE source member with RPGPPOPT(*LVL1)  
or *LVL2, msgRNF0308 may be issued incorrectly indicating      
that a float literal is invalid. This can occur when an SQL    
statement has a line ending in a numeric literal followed by a  
line beginning with the character 'E'.                          

Problem Conclusion

The preprocessor feature of the ILE RPG compiler will be changed
so that a line ending with a numeric literal may be followed    
by a line with the letter E as the first non-blank character.  
                                                               
Note:                                                          
Numeric continuation is not allowed in free form. However, the  
RPG compiler previously failed to enforce this rule in every    
situation. With this APAR, this rule is now always enforced.    
                                                               
For example, the following is not allowed:                      
   x = 123                                                      
        4;                                                      
                                                               
The following is still valid because numeric continuation is    
allowed in fixed form.                                          
                                                               
C                   eval      x = 123                          
C                               4                              

Temporary Fix

Comments

Circumvention


Add a comment at the end of the line with the numeric literal.  

                                                               
For example, change this                                        
     exec sql declare C1 cursor for                            
                Select   Fld1, Fld2, case                      
                when Fld3 = 'abc' then Fld4 + 1                
                else                   Fld4                    
to this                                                        
     exec sql declare C1 cursor for                            
                Select   Fld1, Fld2, case                      
                when Fld3 = 'abc' then Fld4 + 1 // comment      
                else                   Fld4                    

PTFs Available

R710 SI66801 PTF Cover Letter   1000
R720 SI62208 PTF Cover Letter   6306
R730 SI62608 PTF Cover Letter   7061

Affected Modules

         
         

Affected Publications

Summary Information

Status............................................ CLOSED PER
HIPER........................................... No
Component.................................. 5770WDS30
Failing Module.......................... NONE
Reported Release................... R720
Duplicate Of..............................




System i Support

IBM disclaims all warranties, whether express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. By furnishing this document, IBM grants no licenses to any related patents or copyrights. Copyright © 1996,1997,1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 IBM Corporation. Any trademarks and product or brand names referenced in this document are the property of their respective owners. Consult the Terms of use link for trademark information

Document information

More support for: i family

Software version: V7R1M0, V7R2M0, V7R3M0

Operating system(s): OS/400

Reference #: SE64766

Modified date: 06 June 2018