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

HLCSMON1.m

Go to the documentation of this file.
  1. HLCSMON1 ;SF-Utilities for Driver Program ;06/26/2008 15:30
  1. ;;1.6;HEALTH LEVEL SEVEN;**15,40,49,65,109,122,142**;Oct 13, 1995;Build 17
  1. ;Per VHA Directive 2004-038, this routine should not be modified.
  1. ;
  1. ;This routine contains several entry points called from HLCSMON
  1. ;no input parameters are required. All variables used which are
  1. ;not newed here are newed in HLCSMON
  1. ;
  1. DISPLAY ;display link info
  1. ;turn of line wrap
  1. S HLXX=0,X=0 X ^%ZOSF("RM")
  1. F S HLXX=$O(HLARYD(HLXX)) Q:(HLXX'>0) D WLINE(HLXX)
  1. ;DISPLAY INCOMING FILER STATUS
  1. ; patch HL*1.6*142 start
  1. ; call STAT^%ZTLOAD for each display in CNTFLR^HLCSUTL2.
  1. ; patch HL*1.6*122
  1. ; S HLXX=$P(HLRUNCNT,"^",1)
  1. ; I (+HLXX)=-1 S HLXX=$$CNTFLR^HLCSUTL2("IN")
  1. S HLXX=$$CNTFLR^HLCSUTL2("IN")
  1. ; patch HL*1.6*142 end
  1. ;
  1. ;ONLY UPDATE SCREEN IF COUNT HAS CHANGED
  1. I (HLXX'=+HLRUNCNT) D
  1. .D WDATA(5,17,"","",$J(" ",31)),WDATA^HLCSMON1(5,17,"","","Incoming filers running => ",35)
  1. .I (HLXX) D WDATA(32,17,"","",HLXX)
  1. .I ('HLXX) D WDATA(32,17,IOINHI,IOINORM,"Zero")
  1. .S $P(HLRUNCNT,"^",1)=HLXX
  1. ;DISPLAY OUTGOING FILER STATUS
  1. ; patch HL*1.6*142 start
  1. ; call STAT^%ZTLOAD for each display in CNTFLR^HLCSUTL2.
  1. ; patch HL*1.6*122
  1. ; S HLXX=$P(HLRUNCNT,"^",2)
  1. ; I (+HLXX)=-1 S HLXX=$$CNTFLR^HLCSUTL2("OUT")
  1. S HLXX=$$CNTFLR^HLCSUTL2("OUT")
  1. ; patch HL*1.6*142 end
  1. ;
  1. ;ONLY UPDATE SCREEN IF COUNT HAS CHANGED
  1. I (HLXX'=+$P(HLRUNCNT,"^",2)) D
  1. .D WDATA(5,18,"","",$J(" ",31)),WDATA^HLCSMON1(5,18,"","","Outgoing filers running => ",35)
  1. .I (HLXX) D WDATA(32,18,"","",HLXX)
  1. .I ('HLXX) D WDATA(32,18,IOINHI,IOINORM,"Zero")
  1. .S $P(HLRUNCNT,"^",2)=HLXX
  1. S X=$$TM^%ZTLOAD
  1. I X'=$G(HLTMSTAT) D
  1. .S HLTMSTAT=X
  1. .S HLXX=$S('HLTMSTAT:"***TASKMAN NOT RUNNING!!!***",1:"")
  1. .I 'HLTMSTAT D WDATA^HLCSMON1(45,17,IOELEOL_IOBON_IORVON,IOBOFF_IORVOFF,HLXX) I 1
  1. .E D WDATA(45,17,IOELEOL,"",$J("TaskMan running ",16)) ;D WDATA(5,19,IOELALL,"","")
  1. S X=$$STAT^HLCSLM
  1. I X'=$G(HLLMSTAT) D
  1. .S HLLMSTAT=X Q:HLLMSTAT=3
  1. .S HLXX=$S('HLLMSTAT:"***LINK MANAGER NOT RUNNING!!!***",1:"")
  1. .I 'HLLMSTAT D WDATA^HLCSMON1(45,18,IOELEOL_IOBON_IORVON,IOBOFF_IORVOFF,HLXX) I 1
  1. .E D WDATA^HLCSMON1(45,18,IOELEOL,"",$J("Link Manager running",18))
  1. ;Turn terminal line wrap back on
  1. D WDATA(45,19,IOELEOL,"",$$SLM^HLEVUTIL) ; HL*1.6*109
  1. S X=IOM X ^%ZOSF("RM")
  1. Q
  1. ;
  1. WLINE(HLXX) ;write line from HLARYD=current values, HLARYO=old values
  1. ;if values haven't changed, don't do anything
  1. I HLARYD(HLXX)]"",HLARYD(HLXX)=$G(HLARYO(HLXX)) Q
  1. S HLARYO(HLXX)=HLARYD(HLXX),HLERR=$P(HLARYD(HLXX),U,8),DX=1
  1. ; patch HL*1.6*122
  1. ; F X=1:1:7 S @$P("HLNODE^HLREC^HLPROC^HLSEND^HLSENT^HLDEV^HLSTAT",U,X)=$E($P(HLARYD(HLXX),U,X)_" ",1,8)
  1. F X=1,7 S @$P("HLNODE^HLREC^HLPROC^HLSEND^HLSENT^HLDEV^HLSTAT",U,X)=$E($P(HLARYD(HLXX),U,X)_" ",1,10)
  1. F X=2:1:5 S @$P("HLNODE^HLREC^HLPROC^HLSEND^HLSENT^HLDEV^HLSTAT",U,X)=$E($P(HLARYD(HLXX),U,X)_" ",1,8)
  1. ; patch HL*1.6*142
  1. ; if the link in-queue is set to 1 (stop), display it from HLDEV
  1. ; S X=6,@$P("HLNODE^HLREC^HLPROC^HLSEND^HLSENT^HLDEV^HLSTAT",U,X)=$E($P(HLARYD(HLXX),U,X)_" ",1,7)
  1. I $P(HLARYD(HLXX),U,6)["/I-off" D
  1. . S X=6,@$P("HLNODE^HLREC^HLPROC^HLSEND^HLSENT^HLDEV^HLSTAT",U,X)=$E($P(HLARYD(HLXX),U,X)_" ",1,8)
  1. E S X=6,@$P("HLNODE^HLREC^HLPROC^HLSEND^HLSENT^HLDEV^HLSTAT",U,X)=$E($P(HLARYD(HLXX),U,X)_" ",1,7)
  1. ;
  1. ;if link is in error, write node in rev. video
  1. I HLERR]"" D WDATA(5,HLXX,IOBON_IORVON,IOBOFF_IORVOFF,HLNODE,8) S DX=14
  1. ;Turn off terminal line wrap & inform O/S where cursor is located
  1. S DY=HLXX X IOXY,^%ZOSF("XY")
  1. ; patch HL*1.6*122
  1. W:HLERR="" ?4,HLNODE
  1. ; patch HL*1.6*142
  1. ; if the link in-queue is set to 1 (stop), display it
  1. ; W ?16,HLREC,?26,HLPROC,?37,HLSEND,?47,HLSENT,?58,HLDEV,?63,HLSTAT
  1. I HLDEV["/I-off" D
  1. . W ?16,HLREC,?26,HLPROC,?37,HLSEND,?47,HLSENT,?56,HLDEV,?65,HLSTAT
  1. E W ?16,HLREC,?26,HLPROC,?37,HLSEND,?47,HLSENT,?58,HLDEV,?63,HLSTAT
  1. ;
  1. Q
  1. ;
  1. WDATA(DX,DY,IO1,IO2,HLDATA,HLENGTH) ;
  1. ;
  1. ;First erase the data block then write to it. Attributes are
  1. ;contained in IO1 & IO2
  1. ;
  1. N X S X=0 X ^%ZOSF("RM") X ^%ZOSF("XY")
  1. ;Turn off terminal line wrap & inform O/S where cursor is located
  1. I '$D(HLENGTH) S HLENGTH=$L(HLDATA)
  1. X IOXY W IOSC,$E($J(" ",79),1,HLENGTH),IORC W IO1,$E(HLDATA,1,HLENGTH),IO2
  1. S X=IOM X ^%ZOSF("RM")
  1. ;Turn terminal line wrap back on
  1. Q