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

INHOT.m

Go to the documentation of this file.
  1. INHOT(UIF,MODE,INDEV) ;FRW,JSH; 20 Oct 97 12:34; Program to handle output to a Transceiver program ; 07 Oct 91 6:43 AM
  1. ;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
  1. ;COPYRIGHT 1991-2000 SAIC
  1. ;
  1. ;INPUT:
  1. ; UIF - entry # in Interface file
  1. ; MODE - mode of operaton (0=multi-thread, 1=single thread)
  1. ; INDEV - (optional) device name
  1. ;
  1. S X="ERR^INHOT",@^%ZOSF("TRAP")
  1. K (INBPN,INHSRVR,INPNAME,XUAUDIT,XUTIMP,XUTIMT,XUTIMH,UIF,MODE,INDEV) S INDEV=$G(INDEV)
  1. X $G(^INTHOS(1,2))
  1. D SETENV^INHUT7
  1. S X=$P($G(^INRHSITE(1,0)),U,6) X:X ^%ZOSF("PRIORITY")
  1. I $L(INDEV) K %ZIS S %ZIS="0",IOP=INDEV D ^%ZIS I POP D ERROR^INHOS("Device: "_INDEV_" not available","T") G Q
  1. I '$D(^INTHU(+$G(UIF),0)) D ERROR^INHOS("UIF file entry missing: "_+$G(UIF),"T") G Q
  1. N DEST S DEST=+$P(^INTHU(UIF,0),U,2)
  1. I '$D(^INRHD(DEST,0)) D ERROR^INHOS("Missing DESTINATION number or entry: "_+$G(DEST),"T") G Q
  1. U:IO]"" IO S ^INLHSCH("ACT",DEST,$J)=""
  1. EN1 ;Restart with a new UIF entry
  1. I '$D(^INTHU(+$G(UIF),0)) D ERROR^INHOS("UIF file entry missing: "_+$G(UIF),"T") G Q
  1. S ROU=$P(^INRHD(DEST,0),U,3) I ROU="" D ERROR^INHOS("Destination: "_$P(^INRHD(DEST,0),U)_" is missing a routine name.","T") G Q
  1. S:ROU'["^" ROU="^"_ROU
  1. ;Start transaction audit
  1. D:$D(XUAUDIT) TTSTRT^XUSAUD(UIF,"",$P($G(^INTHPC(INBPN,0)),U),$G(INHSRVR),"OUTPUT")
  1. K INHERR S Z="N MODE,DEST S ER=$$"_ROU_"("_UIF_",.INHERR)" X Z
  1. ;Stop transaction audit
  1. D:$D(XUAUDIT) TTSTP^XUSAUD(0)
  1. RET K INTT D:ER>-1 DONE^INHOS
  1. ;S UIF=$$CHK G:UIF EN1
  1. ;
  1. Q ;Quit tag
  1. D:$L(INDEV) ^%ZISC K ^INLHSCH("ACT",DEST,$J)
  1. Q
  1. ;
  1. ERR ;Handle an error
  1. X ^INTHOS(1,3)
  1. D ENT^INHE(UIF,$G(DEST),$$ERRMSG^INHU1) K ZTERROR
  1. S ER=2 G RET
  1. ;
  1. CHK() ;Look for another entry with this destination
  1. ;8/31/94--not using this functionality for now, though may
  1. ;want to revise for some future use -- dgh
  1. Q:'$D(^INRHB("RUN",1)) ""
  1. L +^INLHSCH
  1. N H,DA,PRIO
  1. S DA=0,PRIO="" F S PRIO=$O(^INLHSCH("DEST",DEST,PRIO)) Q:PRIO="" D Q:DA
  1. . S DA=0 F S DA=$O(^INLHSCH("DEST",DEST,PRIO,DA)) Q:'DA S H=^(DA) I '$D(^INLHSCH(PRIO,H,DA)) Q:$H>+H!(+$H=+H&($P($H,",",2)>$P(H,",",2)))
  1. K:DA ^INLHSCH("DEST",DEST,PRIO,DA)
  1. L -^INLHSCH Q DA
  1. ;