-----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of McKown, John Sent: Monday, May 18, 2009 9:28 AM To: [email protected] Subject: Re: vse to z/os migration
> -----Original Message----- > From: IBM Mainframe Discussion List > [mailto:[email protected]] On Behalf Of Howard Rifkind > Sent: Monday, May 18, 2009 9:13 AM > To: [email protected] > 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 [email protected] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

