I found the answer - I had based my code on the sample message exit in the
COBOL user's guide, which has a STOP RUN when the CLOSE status code is
passed.  This causes the RTEREUS environment to be cleaned up, and control
returned to the OS.  I changed it to CONTINUE, which drops through to the
GOBACK.  Control is now returned to the compiler, and thence to my shell
program and all is wonderful.
 
David de Jongh
 
 
On 03/14/12, David de Jongh<[email protected]> wrote:
 
>I have written a COBOL output reformatter that invokes the compiler
>dynamically, and adds instruction offset cross-reference data to the
>procedure division lines, among other things. It was fairly tough to write,
>but works just fine. It's written in COBOL, BTW.
>
>One of the new features of Enterprise COBOL V4R2 was the MSGEXIT option,
>which allowed me to do something I had griped about on the SHARE
>requirements board - detect the FIPS message that flags incorrect INDEX.
>usage, i.e. using an index that isn't associated with the array you're
>referencing. I wrote a MSGEXIT program, also in COBOL. It, too, works just
>fine.
>
>The problem is, these two things don't work together. The reformatter
>invokes the compiler program, the compiler runs to completion, but (a)
>there's no output file, either in TEMPFILE DD (the SYSPRINT DD override) or
>in SYSPRINT DD itself.
>
>I really don't want to rewrite the reformatter as a PRTEXIT, but it's
>looking like that's my only option.
>
>Has anyone else tried this, or have any insights?
>
>David de Jongh

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to