Terminates a GOSUB subroutine procedure and returns control to the command following the calling GOSUB command. Format RETURN [status-code]
1 – Parameter
status-code Defines a longword (integer) value or expression equivalent to an integer value that gives the exit status of the subroutine by defining a numeric value for the reserved global symbol $STATUS. The value can be tested by the next outer command level. The low- order 3 bits of the longword integer value change the value of the reserved global symbol $SEVERITY. If you specify a status code, DCL interprets the code as a condition code. Note that even numeric values produce warning, error, and fatal error messages, and that odd numeric values produce either no message or a success or informational message. If you do not specify a status code, the current value of $STATUS is saved. When control returns to the outer command level, $STATUS contains the status of the most recently executed command or program.
2 – Example
$ SHOW TIME 15-DEC-2001 14:25:42 $ GOSUB SYMBOL $ EXIT $ SYMBOL: $ SHOW SYMBOL RED RED = "SET DEFAULT [LOWE.DCL]" $ RETURN 1 The GOSUB command transfers control to the subroutine labeled SYMBOL. After the subroutine is executed, the RETURN command transfers control back to the command following the calling GOSUB statement, giving $STATUS and $SEVERITY a value of 1. The procedure then exits.