APAR status
Closed as program error.
Error description
Rational Business Developer V7.5.1.4: Unexpected exceptions and errors occur when an assignment statement has a character expression on the left hand side, assigning a value from any ANY data type field. The problem is the length of the target (toIndex) is incorrectly set to an invalid value which causes the following problems: 1) When debugging the EGL program, a java.lang.NegativeArraySizeException is received. 2) When running the the EGL generated Java programs, the following error is received: EGL0100E An unhandled error occurred. Error: java.lang.NegativeArraySizeException. 3) When preparing the EGL generating COBOL program, compiler errors are received. The following are the iSeries COBOL compiler errors received: * 577 MSGID: LNC1327 SEVERITY: 30 SEQNBR: 070700 Message . . . . : '-1' not defined in the program. Clause ignored. * 577 MSGID: LNC1243 SEVERITY: 30 SEQNBR: 070700 Message . . . . : Repetition factor in PICTURE not valid. Repetition factor ignored. * 578 MSGID: LNC1327 SEVERITY: 30 SEQNBR: 070800 Message . . . . : '-1' not defined in the program. Clause ignored. * 578 MSGID: LNC1243 SEVERITY: 30 SEQNBR: 070800 Message . . . . : Repetition factor in PICTURE not valid. Repetition factor ignored. The following is the zSeries COBOL compiler errors received: 976 IGYDS1160-S Character(s) "-" were found as "PICTURE" string character(s). A "PICTURE" string of "S9(1)" was assumed. Same message on line: 977 The following is an example of EGL source code which causes this problem: cChar char(20); any1 any; any1="AX"; cChar[2:2+1-1] = any1; The problem in this case is the toIndex is set to -1 instead of 2.
Local fix
A fixtest is available from support.
Problem summary
A compilation error is produced when a substring operation with a non trivial start and/or stop index is used as the target for an ANY type. In this testcase, the ANY was returned by a function invocation. When run in Java, this produces a runtime error due to a negative array subscript.
Problem conclusion
The code was changed so that the ANY type is cast (via the AS expression) to a type whose length is non-negative
Temporary fix
Comments
APAR Information
APAR number
PM09013
Reported component name
RATL BUS DEV
Reported component ID
5724S5000
Reported release
751
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2010-03-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
RATL BUS DEV
Fixed component ID
5724S5000
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