IBM Support

SI74654 - RPGLE-CMPL-MSGRNF5294 STATUS CODES NOT ALLOWED FOR ON-ERROR

PTF Cover Letter


PTF ( Program Temporary Fixes ) Cover letter


Order this fix

Abstract

RPGLE-CMPL-MSGRNF5294 STATUS CODES NOT ALLOWED FOR ON-ERROR


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

-----------------------------------------------
When status code 00359 or 00453 is specified for the ON-ERROR
operation, the compile fails with msgRNF5294.

Additionally, for a TGTRLS(V7R3M0) compile, the following
status codes should be supported for ON-ERROR: 00361, 00362,
00363, 00364, 00365, and 01012.

Additionally, for a TGTRLS(V7R4M0) compile, status code 00124
should be supported for ON-ERROR.

CORRECTION FOR APAR SE73471 :
-----------------------------
The ILE RPG compiler will be changed so that status codes
00359 and 00453 are supported for the ON-ERROR operation.

Additionally, for TGTRLS(V7R3M0) and later, the compiler
will be changed so that status codes 00361, 00362, 00363,
00364, 00365, and 01012 are supported for ON-ERROR.

Additionally, for TGTRLS(V7R4M0), the compiler will be
changed so that status code 00124 is supported for
ON-ERROR.

CIRCUMVENTION FOR APAR SE73471 :
--------------------------------
Specify ON-ERROR with no status codes to catch all errors.
monitor;
...
on-error;
endmon;


DESCRIPTION OF PROBLEM FIXED FOR APAR SE73537 :
-----------------------------------------------
A MONITOR group has an EXSR operation in the MONITOR section,
and it has an ON-ERROR *PROGRAM section. If the subroutine has
a failed call operation, control may not pass to the ON-ERROR
*PROGRAM section. Similarly, an ON-ERROR section with status
202 or 211 may not get control after a failed call operation in
the called subroutine.

For example, in the following program, control should pass to
the ON-ERROR section after the failed call in the subroutine,
but the program completes without showing the DSPLY
operations in the ON-ERROR or in the subroutine.

dcl-pr BADPGM extpgm end-pr;
dsply 'Expect on-error *program';
monitor;
exsr srmain;
on-error *PROGRAM;
dsply ('on-error *program. Status= ' + %char(%status()));
endmon;
*inlr = *on;

begsr srmain;
BADPGM();
dsply 'After bad call';
endsr;

CORRECTION FOR APAR SE73537 :
-----------------------------
The ILE RPG compiler will be changed so that the compiler
correctly detects whether a MONITOR is active while a
subroutine is running.

CIRCUMVENTION FOR APAR SE73537 :
--------------------------------
Do one of the following:

1. Remove *PROGRAM from the ON-ERROR operation which means
that every exception will be caught by the ON-ERROR.

monitor;
exsr srmain;
on-error; // Change this
dsply ('on-error *program. Status= ' + %char(%status()));
endmon;

OR

2. Code the call operation within a MONITOR operation with
ON-ERROR *FILE. Since the call operation will not cause
any file errors, no errors will be caught by the
MONITOR group in the subroutine, but the error will
be caught by the ON-ERROR *PROGRAM in the main part
of the procedure.

begsr srmain;
monitor; // Add this
BADPGM();
on-error *file; // Add this
endmon; // Add this
dsply 'After bad call';
endsr;


Activation Instructions


None.




Special Instructions


None.


Default Instructions

THIS PTF CAN BE APPLIED IMMEDIATE OR DELAYED.



Supersedes

PTF/FIX NO(S).  APAR TITLE LINE
--------------  ------------------------------------------------------------
   SI72284      RPGLE-RUN-INCORROUT ON-EXIT LOCAL FILE WITH NULL-CAPABLE FIE
   SI70906      RPGLE-CMPL-INCORROUT OVERLAY(DS.SUBF) SHOULD NOT BE ALLOWED
   SI70906      RPGLE-CMPL-INCORROUT EMPTY COPY FILE ON LINE 1 OF SOURCE
   SI70906      RPGLE-CMPL-INCORROUT WRONG RETURN VALUE IF ON-EXIT HAS NO RE
   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 SE73471
View details for APAR SE73537
Superseded by:......................
Recompile...........................Y
Library.............................QRPGLE
MRI Feature ........................NONE
Cum Level...........................C1084720


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, 2020, 2021 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.

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.2","Product":{"code":"SG15V","label":"PTF Cover Letters - IBM i General"},"Component":"5770WDS","Edition":""},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.2","Product":{"code":"SG16F","label":"PTF Cover Letters - IBM i 7.2"},"Component":"5770WDS","Edition":""}]

Document Information

Modified date:
18 April 2021