IBM Support

PK88183: Rational Business Developer V7.5.1: IGYPA3013-W COBOL compiler message for overlapping assignment statement

Subscribe

You can track all active APARs for this component.

 

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