Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ZU

ZU.m

Go to the documentation of this file.
  1. ZU ;SF/RWF - For Open M for NT and Cache! ;03/21/2002 13:46
  1. ;;8.0;KERNEL;**34,94,118,162,170,225**;Jul 10, 1995
  1. ;TIE ALL TERMINALS EXCEPT CONSOLE TO THIS ROUTINE!
  1. EN N $ES,$ETRAP S $ETRAP="D ERR^ZU Q"
  1. D:+$G(^%ZTSCH("LOGRSRC")) LOGRSRC^%ZOSV("$LOGIN$")
  1. ;The next line keeps sign-on users from taking the last slot
  1. ;It can be commented out if not needed.
  1. JOBCHK I $$AVJ^%ZOSV()<3 W $C(7),!!,"** TROUBLE ** - ** CALL IRM NOW! **" G HALT
  1. ;Only call ShareLic for Telnet connections.
  1. I ($I["|TNT|")!($I["TNA") D SHARELIC^%ZOSV(0)
  1. G ^XUS
  1. ;
  1. ;
  1. ERR ;Come here on error
  1. I $ZE["STACK" S $ET="Q:$ST>"_($ST-8)_" D ERR2^ZU" Q
  1. ERR2 S $ET="UNWIND^ZU" L ;Backup trap
  1. Q:$ECODE["<PROG>"
  1. D ^%ZTER
  1. I $G(IO)]"",$D(IO(1,IO)),$E($G(IOST))="P" U IO W @$S($D(IOF):IOF,1:"#")
  1. I $G(IO(0))]"" U IO(0) W !!,"RECORDING THAT AN ERROR OCCURRED ---",!!?15,"Sorry 'bout that",!,*7,!?10,"$ZERROR=",$ZERROR
  1. X ^%ZOSF("PROGMODE") Q:Y S $ZT="HALT^ZU"
  1. I $ZE'["<INRPT>" S XUERF="" G ^XUSCLEAN
  1. CTRLC I $D(IO)=11 U IO(0) W !,"--Interrupt Acknowledged",!
  1. D KILL1^XUSCLEAN ;Clean up symbol table
  1. S $ECODE=",U55,"
  1. Q
  1. ;
  1. UNWIND ;Unwind the stack
  1. Q:$ES>1 G CTRLC2:$EC["U55"
  1. S $EC=""
  1. Q
  1. ;
  1. CTRLC2 S $EC="" G:$G(^XUTL("XQ",$J,"T"))<2 ^XUSCLEAN
  1. S ^XUTL("XQ",$J,"T")=1,XQY=^(1),XQY0=$P(XQY,"^",2,99)
  1. G:$P(XQY0,"^",4)'="M" CTRLC2
  1. S XQPSM=$P(XQY,"^",1),XQY=+XQPSM,XQPSM=$P(XQPSM,XQY,2,3)
  1. G:'XQY ^XUSCLEAN
  1. S $ECODE="",$ETRAP="D ERR^ZU" G M1^XQ
  1. ;
  1. HALT S $EC="" I $D(^XUTL("XQ",$J)) D BYE^XUSCLEAN
  1. D:+$G(^%ZTSCH("LOGRSRC")) LOGRSRC^%ZOSV("$LOGOUT$")
  1. HALT
  1. ;