| Title: | *OLD* ALL-IN-1 (tm) Support Conference |
| Notice: | Closed - See Note 4331.l to move to IOSG::ALL-IN-1 |
| Moderator: | IOSG::PYE |
| Created: | Thu Jan 30 1992 |
| Last Modified: | Tue Jan 23 1996 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 4343 |
| Total number of notes: | 18308 |
I am running ALL-IN-1 from a batch procedure. From within ALL-IN-1 I
execute a number of script files. As part of normal processing within
these scripts I do error checking of course. The other day someone
did something on the system that caused my procedure to fail. It was
something that my error checking could not have possibly checked for.
My batch procedure is set up something like this:
$ ON WARNING THEN GOTO ERROR
$ ON ERROR THEN GOTO ERROR
$!
$ ALLIN1/NOINIT
OA$INIT_INITIALIZE
CAB OPEN
MAIL INITIALIZE
DO BLAH_CONTROL.SCP
EXIT
$!
$@OTHER_DAMAGING_AND_IMPORTANT_THINGS.COM
.....
How can I prevent the rest of the COM procedure from being executed if
something unexpected happens within ALL-IN-1. If for instance, some
twit changes a system logical that causes my procedure not to be able
to find it's file cabinet, (which is what happened) how can I make sure
that the COM procedure goes to the ERROR label instead of executing the
next DCL line, "OTHER_DAMAGING_AND_IMPORTANT_THINGS.COM". I know I
could check for the existence of the file cabinet within ALL-IN-1, but
I shouldn't have to check for every possible problem that could occur
in VMS.
Thanks,
Eileen
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 1735.1 | OA$MSG_*** | AIMTEC::BUTLER_T | Fri Nov 06 1992 17:57 | 10 | |
Eileen,
One possibility is to check before you leave ALL-IN-1 and set a symbol
such as RESULT to be checked before @other_bad_things_etc..
I have used the OA$MSG_*** special symbols. It is not foolproof,
somtimes messages don't get back to the API level.
Tim
| |||||
| 1735.2 | An example of .1 | IOSG::TALLETT | Gimmee an Alpha colour notebook... | Sun Nov 08 1992 20:49 | 22 |
Yes, system management of ALL-IN-1 works like .1 says. As an
example, do something like:
$ALLIN1/NOINIT
...
! Assume the worst
!
GET CLI$SCRIPT_STATUS = 0
...
.IF BAD_THING_HAPPENED THEN .EXIT
...
.IF ALL_IS_WELL THEN GET CLI$SCRIPT_STATUS = 1
.EXIT
$ if script_status.ne.1 then goto something_bad_happened
$ @other_bad_things...
$ exit
$ something_bad_happened:
$ ...
Regards,
Paul
| |||||