Joined: 06 Oct 2009 Posts: 24 Location: Melbourne, Australia
We have a COBOL application that issues an ISPF EDIT command. We then have a COBOL EDIT MACRO that can be called while in EDIT, and we are having storage exhaustion below the line occurring.
The problem seems to be that the initial COBOL RUN UNIT is swapped out when we CALL ISPF EDIT, and then when the COBOL EDIT MACRO is invoked a new COBOL RUN UNIT is setup. This means none of the existing loaded COBOL programs with their current storage and files (etc.) are available and so are re-fetched and setup.
We are able to pass the address of the storage from the initial COBOL RUN UNIT to the COBOL EDIT MACRO RUN UNIT and gain access to storage, however all file threads that are open (etc.) are not available (i.e. we have a common COBOL I/O routine access VSAM FILES), so out call to the I/O routine must re-OPEN another thread to any files (etc.)
We assume we must investigate Language Environment (LE) to find if there is a way to either keep the original COBOL RUN UNIT in place during the ISPF EDIT, or re-acquire it when the COBOL EDIT MACRO begins?
Can anyone help point to the right manual/section on how to proceed?