COBCH2324 Section or Entry with parameters or locals <item-1> forms part of an overlapping perform range

A section containing locally declared variables, or a parameterized section has been included in an overlapping perform range, which is not permitted.

Below is an example of incorrectly using an inline perform statement with a parameterized section. See The PERFORM Statement for more information.

           perform a thru c
           perform c(2)
           goback
           .
       a section.
           display "In a"
           .
       b section.
           display "In b"
           .
       c section (i1 as binary-long).
           display "In c: " i1
           .

There are other scenarios where fall-through may also generate this error - such as when entry points in the same program contain EXIT PROGRAM statements which are set to be processed with the EXITPROGRAM(ANSI) directive (which is the default). In such cases, ensure the entry points are terminated with a goback statement, or compile the program with the EXITPROGRAM(GOBACK) directive.

Tip: Use the SHOWPERFORMOVERLAP directive to help identify overlapping perform ranges in your programs.