APAR status
Closed as program error.
Error description
Rational Business Developer V7.5.1.2: Using IBM Rational Business Developer, the IGYPA3013-W COBOL compiler message is received for an overlapping assignment statement when compiling Enterprise Generation Language (EGL) generated COBOL programs. The following is an example of the error found in the COBOL compiler listing: 005793 * EGL *97* padResult[i:f] = padResult; 005794 COMPUTE EZELFV-IDX-1 = I-141 005795 COMPUTE EZELFV-IDX-2 = F-146 005796 IF EZELFV-IDX-2 GREATER THAN LENGTH OF PADRESULT-113 005797 1 COMPUTE EZEDLR-IDX-EXCEPTION-INDEX = EZELFV-IDX-2 005798 1 MOVE 97 TO EZERTS-PRC-NUM 005799 1 MOVE "PADRESULT-113" TO EZEDLR-AVAILABLE-AREA 005800 1 PERFORM EZE-THROW-IDX-EXCEPTION ==005800==> IGYOP3094-W There may be a loop from the "PERFORM" statement at "PERFORM (line 5800.01)" to itself. "PERFORM" statement optimization was not attempted. 005801 END-IF 005802 MOVE PADRESULT-113 TO PADRESULT-113 (EZELFV-IDX-1 : 1 + ==005802==> IGYPA3013-W Data items "PADRESULT-113 (ALPHANUMERIC)" and "PADRESULT-113 (ALPHANUMERIC REFERENCE MODIFIED ITEM)" had overlapping storage. An overlapping move will occur at execution time. The EGL COBOL support does not support overlapping assignment statements while the EGL Java and debugger support does. If generating for COBOL target systems, the following statement: padResult[i:f] = padResult; should be recoded as follows: temp char(1024) = padResult; padResult[i : f] = temp; Note: padResult is defined as char(1024).
Local fix
If generating for COBOL target systems, the following statement: padResult[i:f] = padResult; should be recoded as follows: temp char(1024) = padResult; padResult[i : f] = temp; Note: padResult is defined as char(1024).
Problem summary
a statement like the following is supported for Java (or the EGL Debugger) but not for COBOL: myResult[1:5] = myResult;
Problem conclusion
added note in the help topic on substrings: A problem may arise if you assign data from a source variable to a substring of the same variable (for example, myResult[1:5] = myResult); the use of overlapping storage in this way is supported in the EGL Debugger and in EGL-generated Java but not in EGL-generated COBOL. also noted COBOL compiler message in the z/OS server guide.
Temporary fix
Comments
APAR Information
APAR number
PK88183
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
2009-06-08
Closed date
2009-11-09
Last modified date
2009-11-09
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:
09 November 2009