APAR status
Closed as program error.
Error description
Customers program is looping on the while statement. Program worked ok in VAGEN. 1. record defn package Utable; Record UTABLE type basicRecord 5 U_TABLE char(600) ; 10 U_TYPE char(2) ; 10 U_TABLE_DATA char(140) ; 20 VISIT_TIME_A char(40) ; 30 VISIT_TIME char(13) [3] ; 40 HOURS_BEGIN char(2) ; 40 HOURS_END char(2) ; 40 FREQU-PERIOD char(3) ; 45 PERDAY char(1) ; 45 PERWEEK char(1) ; 45 PERMONTH char(1) ; 40 MAXDAY char(3) ; 40 MAXWEEK char(2) ; 40 MAXMONTH char(1) ; 30 PRNX2 char(1) ; 20 U_MISC char(100) ; 30 U_MISC_1 char(100) ; 40 U_MISC_11 char(25) ; 40 U_MISC_12 char(35) ; 40 U_MISC_13 char(40) ; 10 U_TREAT char(1) [100] ; 10 U_EXIST_IND num(1) [100] ; 10 U_TREAT_NO char(2) [100] ; 10 U_TOTAL num(2) ; 10 * char(56) ; end // end UTABLE 2. Program: program AICAPGM type BasicProgram { includeReferencedFunctions = yes, allowUnqualifiedItemReferenc es = yes, throwNrfEofExceptions = yes, handleHardIOErrors = no, V60Excep tionCompatibility = yes, I4GLItemsNullable = no, textLiteralDefaultIsString = no, local SQLScope = yes } UTABLE UTABLE; function main() writestdout('UTABLE.U_EXIST_IND[1] = ' + UTABLE.U_EXIST_IND[1] ); if (' ' == UTABLE.U_EXIST_IND[1]) writestdout('blank = 0'); else writestdout('blank not equal to 0'); end while (' ' in UTABLE.U_EXIST_IND) writestdout('sysVar.arrayIndex = ' + sysvar.arrayindex); UTABLE.U_EXIST_IND[sysVar.arrayIndex] = 0; end end end
Local fix
Problem summary
The logic for the while statement caused a slightly different path than the if statement, when going through the compatibility factory. This was due to the while statement having to assign to a temporary variable when the types mismatched. Logic has been added to detect this situation.
Problem conclusion
Software updated. Fixtest available.
Temporary fix
Comments
APAR Information
APAR number
PM06745
Reported component name
RBD EGL FOR COB
Reported component ID
5724S5001
Reported release
751
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2010-02-03
Closed date
2010-04-14
Last modified date
2010-04-14
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
RBD EGL FOR COB
Fixed component ID
5724S5001
Applicable component levels
R751 PSN
UP
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSMQ79","label":"Rational Business Developer"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
14 April 2010