Subprogram Limitations, XENIX

PSS ID Number: Q10697
Article last modified on 11-16-1992

2.10 2.20
XENIX

Question:
   The COBOL Versions 2.10 and 2.20 documentation makes no mention of
a limit to the level of nested CALLs from a COBOL main program. It
appears that if the nesting level is greater than three, the program
is interrupted and the run-time error message, "Not enough memory" is
displayed. This occurs even if the memory has been expanded to 640K.
What exactly are the nesting limitations?

Response:
   The limit for the number of active subprograms, nested or not, is
40. The error message generated after the third CALL probably occurs
because you are out of memory in the data segment. All the data from
all the called subprograms must fit in the same 64K data segment.
However, there is a certain amount of overhead for each CALL.

Copyright Microsoft Corporation 1992.