IBM Support

SI70906 - RPGLE-CMPL-INCORROUT EMPTY COPY FILE ON LINE 1 OF SOURCE

PTF ( Program Temporary Fixes ) Cover letter


Order this fix

Abstract

RPGLE-CMPL-INCORROUT EMPTY COPY FILE ON LINE 1 OF SOURCE


Pre/Co-Requisite PTF / Fix List

REQ  LICENSED           PTF/FIX  LEVEL

TYPE PROGRAM  RELEASE   NUMBER   MIN/MAX  OPTION
---- -------- --------- -------  -------  ------
PRE  5770SS1  V7R2M0    SI67186   00/00    0000
PRE  5770WDS  V7R2M0    SI66738   NONE     0000
PRE  5770SS1  V7R2M0    SI57766   00/00    0000
PRE  5770SS1  V7R2M0    SI58109   00/00    0000



NOTICE:
-------
Application of this PTF may disable or render ineffective programs that
use system memory addresses not generated by the IBM translator,
including programs that circumvent control technology designed to limit
interactive capacity to purchased levels.  This PTF may be a prerequisite
for future PTFs.  By applying this PTF you authorize and agree to the
foregoing.

This PTF is subject to the terms of the license agreement which
accompanied, or was contained in, the Program for which you are obtaining
the PTF.  You are not authorized to install or use the PTF except as part
of a Program for which you have a valid Proof of Entitlement.

SUBJECT TO ANY WARRANTIES WHICH CAN NOT BE EXCLUDED OR EXCEPT AS EXPLICITLY
AGREED TO IN THE APPLICABLE LICENSE AGREEMENT OR AN APPLICABLE SUPPORT
AGREEMENT, IBM MAKES NO WARRANTIES OR CONDITIONS EITHER EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OR CONDITIONS OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON INFRINGEMENT,
REGARDING THE PTF.

The applicable license agreement may have been provided to you in printed
form and/or may be viewed using the Work with Software Agreements (WRKSFWAGR)
CL command.





APAR Error Description / Circumvention

-----------------------------------------------
The ILE RPG compiler allows a qualified name for the OVERLAY
keyword, but the program that is created may not work correctly.

The compiler should not allow a qualified name for the OVERLAY
keyword. The ILE RPG Reference states "If the data structure is
qualified, the first parameter to the OVERLAY keyword must be
specified without the qualifying data structure name."

See
https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzasd/d
overly.htm.

CORRECTION FOR APAR SE71800 :
-----------------------------
The ILE RPG compiler will be changed to issue msgRNF0622 (A
qualified name is not allowed in this context) when the
parameter for the OVERLAY keyword is a qualified name.

However, for releases 7.2 to 7.4, a temporary environment
variable is available to allow coding a qualified name for
the OVERLAY keyword as long as the data structure part of
the qualified name is the same as the data structure
containing the subfield with the overlay keyword.

To temporarily allow OVERLAY with a qualifed name, add
environment variable QIBM_RPG_ALLOW_OVERLAY_QUAL_NAME
with the value 'Y'.
ADDENVVAR QIBM_RPG_ALLOW_OVERLAY_QUAL_NAME VALUE('Y')

However, starting in the release following 7.4, compiling a
program or module where parameter for the OVERLAY keyword
is a qualified name will fail, even if the environment
variable is present. The compile will fail for every
target release.

CIRCUMVENTION FOR APAR SE71800 :
--------------------------------
Change the parameter of the OVERLAY keyword to just name the
subfield. For example, change OVERLAY(DS.SUBF) to OVERLAY(SUBF).


DESCRIPTION OF PROBLEM FIXED FOR APAR SE70958 :
-----------------------------------------------
When the first line of the source for an ILE RPG program has a
/COPY or /INCLUDE statement, and the copy file is empty, and
DBGVIEW(*ALL) or DBGVIEW(*COPY) is specified for the compile,
the compile will fail with msgCPF9551, msgCPF9570, and
msgCWX9001.

CORRECTION FOR APAR SE70958 :
-----------------------------
The ILE RPG compiler will be changed so that an empty /COPY
file on line 1 of source will not cause the compiler to abend.

CIRCUMVENTION FOR APAR SE70958 :
--------------------------------
Do one of the following:
- Add a blank line or comment line above the /COPY or /INCLUDE
statement
- Add a blank line or comment line to the copy file


DESCRIPTION OF PROBLEM FIXED FOR APAR SE71356 :
-----------------------------------------------
If an ILE RPG procedure which returns a value has an ON-EXIT
section, and a RETURN statement is not used in the ON-EXIT
section, the value returned from the procedure may be incorrect.

In some cases, the value returned from the procedure may cause
an exception such as a decimal-data-error.

For example, in the following procedure, it is possible that no
RETURN statement is used in the ON-EXIT section.

dcl-proc p1;
dcl-pi *n int(10) end-pi;
dcl-s ret int(10);
ret = 5;
return ret;
on-exit;
if ret < 0;
return 0;
endif;
end-proc;

CORRECTION FOR APAR SE71356 :
-----------------------------
The ILE RPG compiler will be changed so that the value returned
from the main part of the procedure is returned if no RETURN
operation is performed in the ON-EXIT section.

CIRCUMVENTION FOR APAR SE71356 :
--------------------------------
Code a RETURN statement at the end of the ON-EXIT section, to
ensure that a RETURN statement is used whenever the ON-EXIT
section runs.

dcl-proc p1;
dcl-pi *n int(10) end-pi;
dcl-s ret int(10);
ret = 5;
return ret;
on-exit;
if ret < 0;
return 0;
endif;
return ret; // Add a RETURN statement here
end-proc;


Activation Instructions


None.




Special Instructions


None.


Default Instructions

THIS PTF CAN BE APPLIED IMMEDIATE OR DELAYED.



Supersedes

PTF/FIX NO(S).  APAR TITLE LINE
--------------  ------------------------------------------------------------
   SI70116      RPGLE-RUN-PERFM CONCATENATION OF '' MAY CAUSE
   SI69571      RPGLE-CMPL INNER NESTED DATA STRUCTURE AFFECTS OUTER EXT-DS
   SI69571      RPGLE-CMPL-INCORROUT SORTA IS ALLOWED FOR A CONST PARAMETER
   SI69571      RPGLE-CMPL-LOOP MISSING END-DS MAY CAUSE INFINITE LOOP IN
   SI69115      RPGLE-CMPL-UNPRED LINEAR MAIN PI EXTPGM(GLOBAL_CONSTANT)
   SI69115      RPGLE-CMPL-INCORROUT TIMESTAMP NOT CORRECT IN PCML IF LEN NO
   SI68993      RPGLE-CMPL-MSGCPF955D RPG PROGRAM HAS TOO MUCH DEBUG DATA
   SI68993      RPGLE-CMPL-INCORROUT ON-EXIT FAILS TO RUN IF PROC CANCELED
   SI68419      RPGLE-CMPL-MSGMCH4297 MSGMCH4297-RC02 DUPLICATE EXPORTED
   SI68419      RPGLE-CMPL-MSGMCH4227 TEMPLATE DS IN PROCEDURE WITH ON-EXIT
   SI68234      RPGLE-CMPL-MSGMCH4227 MONITOR IN ON-EXIT SECTION
   SI68234      RPGLE-CMPL-INCORROUT XML-SAX(E) MONITORED ERROR IN HANDLER P
   SI68234      RPGLE-CMPL-MSGMCH4227 FILE WITH HANDLER KEYWORD AND O SPECS
   SI67718      RPGLE-CMPL-INCORROUT NESTED DCL-DS ARRAY CHANGES INITIALIZAT
   SI67718      RPGLE-CMPL-INCORROUT %PARMS WITH LIKEFILE PARMS AND OPDESC
   SI67718      RPGLE-CMPL-INCORROUT CONCATENATION WITH HUGE VARYING VALUE
   SI67718      RPGLE MSGMCH1210-OVERFLOW ERROR WITH %DIFF IN A DIVISION
   SI67184      RPGLE-CMPL ENHANCEMENT TO SUPPORT THE DATA-INTO OPERATION CO
   SI66800      RPGLE-CMPL-INCORROUT NO AF JOURNAL ENTRY FOR FAILED COMPILE
   SI66800      RPGLE-CMPL-MSGMCH0601 %PROC CAN CAUSE THE COMPILER TO FAIL
   SI66800      RPGLE-CMPL-INCORROUT PCML MISSING CCSID FOR CHAR PARAMETERS
   SI66800      RPGLE-RUN-MSGRNX0453 IMPLICIT CCSID CONVERSION FOR CONCATENA
   SI66149      RPGLE-CMPL-MSGMCH4227 MISSING DIAG FOR TEMPLATE WITH EXTFILE
   SI66149      RPGLE-CMPL-INCORROUT MSGRNF0369 FOR %PARMNUM WHEN PARM IS NO
   SI66149      RPGLE-CMPL-MSGRNF0202 MSGRNF0202 %CHAR REQUIRES *JOBRUN
   SI66149      RPGLE-CMPL-MSGMCH3203 THIRD PARM OF %TIMESTAMP MUST BE CONST
   SI66149      RPGLE-CMPL SEVERAL ENHANCEMENTS FOR ILE RPG
   SI65574      RPGLE-CMPL-INCORROUT %CHAR WITH MORE THAN 30 DECIMAL PLACES
   SI65574      RPGLE-CMPL-LOOP *FREE WITH UNEXPECTED CODE PAST COLUMN 80
   SI65574      RPGLE-CMPL-MSGRNF0099 CC-UTIL CLEAR GRAPHIC FIELD CCSID(6553
   SI65574      RPGLE-RUN-INCORROUT LIKEREC(*ALL) FAILS WITH DCLOPT(*NOCHGDS
   SI65574      RPGLE-CMPL-INCORROUT **FREE GENERATED I/O SPECS ARE INCOMPLE
   SI64924      RPGLE-CMPL-INCORROUT ON-EXIT NOT RUN WHEN PROCEDURE HAS
   SI64483      RPGLE-CMPL-INCORROUT **FREE SQLRPGLE COMPILE-TIME DATA TRUNC
   SI64483      RPGLE-CMPL-RC12-MSGMCH4227 ASSIGN ('0' OR LOGICAL EXPRESSION
   SI64483      RPGLE-CMPL-MSGRNF0726 CCSID(*JOBRUNMIX) WTIH ALTSEQ
   SI64483      RPGLE-CMPL-MSGMCH3601-T/CHECKMAINEXTPGMSAME EXTPGM BAD PARM
   SI64483      RPGLE-CMPL-INCORROUT INPUT FOR FILE WITH PREFIX('DS.') ALIAS
   SI63821      RPGLE-CMPL-MSGMCH42B0-RCX'010E' ON-EXIT WITH DFTACTGRP(*YES)
   SI63821      RPGLE-CMPL-INCORROUT CVTOPT IN H-SPEC IGNORED WITH OUTPUT(*N
   SI63821      RPGLE-CMPL NESTED DCL-DS, %MAX/%MIN, ALIGN(*FULL) ENHANCEMEN
   SI62955      RPGLE-CMPL-INCORROUT OA HANDLER PROGRAM MISSING FROM DSPPGMR
   SI62955      RPGLE-CMPL-INCORROUT **FREE CTDATA HAS X'00' IN TRAILING BLA
   SI62955      RPGLE-CMPL-MSGRNF0293 /COPY NOT FOUND IF /QSYS.LIB IN RPGINC
   SI62955      RPGLE-CMPL ON-EXIT SECTION TO RUN WHEN PROCEDURE ENDS
   SI62208      RPGLE-RUN-PERFM UNNECESSARY CALLS TO QUSRJOBI DURING *INIT P
   SI62208      RPGLE-CMPL-INCORROUT-MSGRNF0308 CRTSQLRPGI RPGPPOPT(*LVL1/*L
   SI62208      RPGLE-CMPL-INCORROUT NO SOURCE INFO MIXEDCASE SRCSTMF(/QSYS.
   SI60985      RPGLE-RUN-INCORROUT %ELEM RETURNS 0 FOR SUBPROC INDICATOR AR
   SI60985      RPGLE-CMPL-INCORROUT += ASSIGNMENT WHEN RHS HAS MULTIPLE CCS
   SI60985      RPGLE-RUN REMOVING ENDFOR BREAKPOINT REMOVES WRONG BREAKPOIN
   SI60985      RPGLE-RUN-INCORROUT RESET OF SUBFIELD FROM DS WITH A POINTER
   SI60351      RPGLE-RUN-INCORROUT DBGVIEW(*LIST) SHOWS EXTRA TEXT IN STRDB
   SI60086      RPGLE-CMPL-MSGCPF3BC7 XML-INTO or XML-SAX IN CCSID 65535 SOU
   SI60086      RPGLE-CMPL-MSGCPF9549 CRTSQLRPGI COMPILEOPT('OUTPUT(*NONE)')
   SI60086      RPGLE-CMPL-MSGRNF7544 RESET QUALIFIED MAIN ENTRY PARM SUBFIE
   SI60086      RPGLE-CMPL-MSGRNF5505 CRTSQLRPGI RPGPPOPT **FREE WITH /COPY
   SI58916      RPGLE-CMPL-MSGMCH4227-RC12 *ZEROS PASSED TO CONST FLOAT PARM
   SI58916      RPGLE-CMPL-MSGRNF0224 XML-INTO XML-SAX WITH LITERAL OPTIONS
   SI58916      RPGLE-CMPL-INCORROUT UCS-2 WITH OPEN ACCESS WHEN CCSIDS DIFF
   SI58916      RPGLE-CMPL-INCORROUT /COPY IN **FREE CRTSQLRPGI+RPGPPOPT NOT
   SI58916      RPGLE-CMPL-MSGMCH4227 CHGSRVPGM PRFDTA(*APYALL) KEYED I/O
   SI58137      RPGLE-CMPL SUPPORT FREE-FORM FROM COLUMN 1 TO END OF LINE
   SI57858      RPGLE-CMPL-MSGRNF1250 MAIN PI WITHOUT EXTPGM WITH CRTBNDRPG
   SI57858      RPGLE-CMPL-T/QRN4MAIN-MSGMCH3601 EVAL-CORR FOR UNDEFINED LIK
   SI57289      RPGLE-CMPL-MSGRNF5377 %DATE WITH NO PARMS FOLLOWED BY AND /
   SI56411      RPGLE-CMPL-T/QBNCRTMD-MSGMCH0601 INZ('') WITH CCSID(*EXACT)
   SI56411      RPGLE-CMPL-MSGRNF0202 %SIZE(DS) UNDEFINED FOR A FREEFORM KEY
   SI56411      RPGLE-CMPL-MSGRNS9311-RC1 PROC WITH SAME NAME AS GLOBAL SUBF
   SI56411      RPGLE-CMPL-INCORROUT PCML MISSING NAME TAG FOR UNNAMED MAIN
   SI55442      RPGLE-CMPL PCML USABILITY: MIXED CASE; PCML FOR ONLY SOME PR
   SI55236      RPGLE-CMPL-MSGMCH0602 MSGMCH0602 SQL FUNCTION RETURN *BLANKS
   SI55236      RPGLE-RUN-INCORROUT BREAKPOINT LINE FOR DCL-PROC AND END-PRO
   SI55236      RPGLE-CMPL-MSGRNF0099 UTIL-CC ASSIGN *LOVAL TO CCSID(*HEX) F
   SI54155      RPGLE-CMPL-MSGRNF3320 FREE-FORM KEYWORD IN SUBPROC WITH GLOB
   SI54155      RPGLE-CMPL-MSGRNF7062 MESSAGE MSGRNF7062 IS NOT BEING FLAGGE
   SI54155      RPGLE-RUN-MSGRNX0451 SOURCE CCSID 65535, KEYWORDS INZ AND CC
   SI54155      RPGLE-CMPL-MSGRNF0099 UTIL-CC FIELD DEFINED LIKE(O_SPEC_FIEL
   SI54155      RPGLE-CMPL ALIAS FOR FILES; RELAX RULES FOR I/O DATA STRUCTU
   SI53642      RPGLE-CMPL-MSGRNF7710 MODULE WHICH COMPILED FOR 7.1 NOW TOO
   SI53642      RPGLE-CMPL-MSGMCH4216 CONCATENATION EXPRESSION PASSED TO CON
   SI53642      RPGLE-CMPL-MSGRNF0267 CONTINUED LITERAL WITH CRTSQLRPGI RPGP
   SI53642      RPGLE-CMPL-MSGMCH3203 EXTPGM FOR A NON-MAIN SUBPROCEDURE
   SI53228      RPGLE-RUN-MSGMCH1202 MCH1202 FOR SUBDUR(E) WITH INVALID
   SI53228      RPGLE-CMPL-INCORROUT DTAARA(*VAR:FLD) DOES NOT CAUSE A READ
   SI53228      RPGLE-CMPL-INCORROUT SEVERAL PROBLEMS FIXED
   SI52691      RPGLE-CMPL-INCORROUT SEVERAL PROBLEMS FIXED
   SI52691      RPGLE-CMPL-MSGRNF0257 FOR DCL-XX AFTER A CALCULATION
   SI51658      RPGLE-CMPL-INCORROUT SEVERAL PROBLEMS FIXED
   SI51658      RPGLE-CMPL-MSGRNF7030 OPTION(*NOXREF) WITH DTAARA KEYWORD
   SI51658      RPGLE-CMPL-F/QTESYMS--MSGCPF955E LIKEREC WITH PAGE FIELD
   SI51658      RPGLE-RUN-INCORROUT O SPEC RECORDNAME BLANK IN OA HANDLER PA
   SI51658      RPGLE-CMPL-MSGRNF7030 *INLR NOT DEFINED FOR A PRIMARY FILE
   SI51658      RPGLE-RUN-INCORROUT OPEN ACCESS OUTPUTBUFFERLEN > RECORD LEN
   SI51658      RPGLE-CMPL-MSGRNX0103 SUBTRACTING TWO %SUBDT GETS OVERFLOW E

Summary Information

System.............................. i
Models..............................
Release............................. V7R2M0
Licensed Program............... 5770WDS
APAR Fixed.......................... View details for APAR SE71800
View details for APAR SE70958
View details for APAR SE71356
Superseded by:......................
Recompile........................... Y
Library............................. QRPGLE
MRI Feature ........................ NONE
Cum Level........................... C9297720


IBM 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, 2019 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: V7R2M0

Operating system(s): OS/400

Reference #: SI70906

Modified date: 28 August 2019