![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I so far, have been unsuccessful in finding a way to pass error information between OpenVMS & OpenM. i.e. A VMS command procedure calls a MUMPS routine which errors (for whatever reason <UNDEFINED> or any other) when control is returned to the command pr ocedure, we would like to know whether or not the M routine completed or errored. Could you shed some light on this matter as to the feasibility? Thanks for your help. The Answer is : Please first check the MUMPS product documentation -- the OpenVMS Wizard is not familiar with the "OpenM" product. Per the OpenVMS Calling Standard, the error status (condition value) is returned from calls via register R0, and may also be (or alternately) returned via an OpenVMS Signal. On OpenVMS, a successful condition value has the low bit set. In the case of DSM, if DSM detects an error status (the low bit is clear) returning from a call, then a MUMPS error is then "signalled", and an error is returned to the user program in the $ZE special variable. Also please see the $ZTRAP support for declaring an error handler in DSM. Depending on the particular environment, it may be easier to create jacket routines -- either to establish a handler and then capture the signal arising from within the called routine, or to reorganize the arguments and returns. From DSM, this jacket routine would be the target of a ZCALL.
|