-----Original Message-----
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
Behalf Of McKown, John
Sent: Monday, May 18, 2009 9:28 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: vse to z/os migration

> -----Original Message-----
> From: IBM Mainframe Discussion List 
> [mailto:ibm-m...@bama.ua.edu] On Behalf Of Howard Rifkind
> Sent: Monday, May 18, 2009 9:13 AM
> To: IBM-MAIN@bama.ua.edu
> Subject: Re: vse to z/os migration
> 
> I believe the 'Stop Run' statement just ends the program in VSE.
> 
> In a z/OS environment you want the program to return control 
> back to the O/S...a different world then VSE.
> 

IIRC, The COBOL "STOP RUN" terminates the current COBOL run unit. This
may or may not return control to the OS. For example, if you have a
non-LE assember program (in a non-LE environment) which does a LINK to a
COBOL program, then LE will get control and initialize itself. The COBOL
run unit will then be initialized and then, finally, the COBOL program
started. If that COBOL program then dynamically CALLs another COBOL
program which executes a STOP RUN, then your assembler program will get
control back, bypassing the calling COBOL program entirely. I also think
this terminates the COBOL run unit, which means that the files opened in
the run unit are closed (may be wrong on this one).
<SNIPPAGE>

Anyone besides me see a very broken MVS SUBROUTINE protocol by this
behavior?

After all, how is your program supposed to know that a subroutine it
calls is later modified to invoke a LE based program....

Regards,
Steve Thompson

-- Opinions expressed by this poster may not reflect those of poster's
employer. --

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to