Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WorldVistAEHR/trunk/r/HEALTH_LEVEL_SEVEN-HL/HLCSMON.m

    r613 r623  
    1 HLCSMON ;SF-DISPLAY DRIVER PROGRAM  ;12/11/2007  17:07
    2         ;;1.6;HEALTH LEVEL SEVEN;**34,40,48,49,65,66,73,109,122**;Oct 13, 1995;Build 14
    3         ;Per VHA Directive 2004-038, this routine should not be modified.
    4         ;
    5         ;This Program drives a real-time display monitor for the HL7
    6         ;Package. All the data used by this display is stored in file
    7         ;# 870. Several callable entry points were broken
    8         ;out of this routine and placed into HLCSMON1
    9         ;
    10         ;This routine has no required input parameters other than require that
    11         ;U be defined, it does not instantiate any parameters either.
    12         ;
    13         ;
    14         ;HLARY=array of all,HLARYD=array of display,HLARYO=array of old values
    15         ;HLPTR1=top of display,HLPTR2=bottom of display,HLPTR3=last in HLVARY
    16 INIT    N HLARY,HLARYD,HLARYO,HLCOFF,HLCON,HLDISP,HLPTR1,HLPTR2,HLPTR3,HLRESP
    17         N HLDEV,HLERR,HLEVL,HLHDR,HLNODE,HLOCK
    18         N HLPARAM,HLPROC,HLPROD,HLSEND,HLSENT,HLSITE
    19         N HLI,HLREC,HLRUNCNT,HLSTAT,HLTMSTAT,HLLMSTAT,HLVIEW,HLXX,HLYY,X,Y,DX,DY
    20         ;
    21         ; patch HL*1.6*122 start
    22         D HOME^%ZIS
    23         W @IOF
    24         ; patch HL*1.6*122 end
    25         ;
    26         D ^HLCSTERM ;Sets up variables to control display attributes
    27 INIT1   ;
    28         ; Next 4 lines copied here from top of START by patch 73...
    29         ;HLRUNCNT=number of in filers^out filers, HLDISP=display mode
    30         S HLRUNCNT="-1^-1",HLPTR1=1 S:'$D(HLDISP) HLDISP="S"
    31         D BUILDARY ;Build an array for display
    32         QUIT:$$LOCKED(.HLOCK)  ;-> Anything locked?
    33         ;
    34         W HLCOFF ;Shut Cursor off
    35         D HEADER^HLCSTERM ;Write header
    36         D WDATA^HLCSMON1(5,17,"","","Incoming filers running => ")
    37         D WDATA^HLCSMON1(5,18,"","","Outgoing filers running => ")
    38         D WDATA^HLCSMON1(5,20,"","","Select a Command:")
    39         D WDATA^HLCSMON1(1,21,"","","(N)EXT  (B)ACKUP  (A)LL LINKS  (S)CREENED  (V)IEWS  (Q)UIT  (?) HELP: ")
    40         ;HLRUNCNT=number of in filers^out filers, HLDISP=display mode
    41         S HLRUNCNT="-1^-1",HLPTR1=1 S:'$D(HLDISP) HLDISP="S"
    42 START   ;
    43         D BUILDARY ;Build an array for display
    44         D DISPLAY^HLCSMON1 ;Display the array just built
    45         D READ
    46         ;HLRESP=user response
    47         I '$L(HLRESP) G START
    48         G:HLRESP="Q" EXIT
    49         ;any of following commands, kill old values
    50         K HLARYO,HLTMSTAT,HLLMSTAT
    51         I HLRESP="?" D HELP G INIT1
    52         I HLRESP="V" D VIEW G INIT1
    53         I "AS"[HLRESP K HLARY,HLEVL S HLDISP=HLRESP G INIT1
    54         I "NB"[HLRESP D NEXT
    55         G START
    56         ;
    57 READ    ;Prompt the user for the next action
    58         D WDATA^HLCSMON1(71,21,"","","",1)
    59         W HLCON
    60         R X#1:3
    61         W HLCOFF
    62         S HLRESP=$S(X="":X,"Qq^"[X:"Q","Bb"[X:"B","Nn"[X:"N","Aa"[X:"A","Vv"[X:"V",X="?":"?","Ss"[X:"S",1:"")
    63         Q
    64         ;
    65 VIEW    ;select new view
    66         W HLCON,!!
    67         N DIC
    68         S DIC="^HLCS(869.3,1,6,",DIC(0)="QEA"
    69         D ^DIC Q:Y<0
    70         S HLVIEW=+Y,HLDISP="V"
    71         W HLCOFF
    72         Q
    73         ;
    74 NEXT    ;
    75         ;Next page
    76         I HLRESP="N" D
    77         . ;no more
    78         . I HLPTR2=HLPTR3 D EOB Q
    79         . S Y=HLPTR2+10,HLEVL(HLPTR1)=""
    80         . ;exceed list, get last 10
    81         . I Y>HLPTR3 S HLPTR2=HLPTR3,HLPTR1=HLPTR2-9 Q
    82         . S HLPTR1=HLPTR2,HLPTR2=Y
    83         ;
    84         ;Backup a page
    85         I HLRESP="B" D
    86         . ;top of list
    87         . I HLPTR1=1 D EOB Q
    88         . I HLDISP="S" S HLPTR1=$O(HLEVL(HLPTR1),-1) Q
    89         . S Y=HLPTR1-9
    90         . ;can't go back 10, reset to top
    91         . I Y'>0 S HLPTR1=1,HLPTR2=10 Q
    92         . S HLPTR2=HLPTR1,HLPTR1=Y
    93         ;
    94         ;Erase what might be displayed on line 22
    95         D WDATA^HLCSMON1(1,22,IOELALL,"","")
    96         Q
    97 EOB     D WDATA^HLCSMON1(5,22,IORVON,IORVOFF,"CANNOT "_$S(HLRESP="N":"ADVANCE",1:"BACKUP")_" BEYOND END OF BUFFER")
    98         W $C(7) H 2
    99         Q
    100         ;
    101 BUILDARY        ;
    102         K HLARYD
    103         ;
    104         ;if view is defined, get links
    105         I $G(HLVIEW) D  S HLVIEW=0,HLDISP="V"
    106         . N HLTMP
    107         . K HLARY,HLEVL S HLI=0
    108         . F  S HLI=$O(^HLCS(869.3,1,6,HLVIEW,1,HLI)) Q:'HLI  S HLYY=+$P($G(^(HLI,0)),U,2) D
    109         .. S Y=$P($G(^HLCS(870,HLI,0)),U) Q:Y=""
    110         .. ;build array by DISPLAY ORDER and then by NAME
    111         .. I HLYY S HLTMP(HLYY,HLI)="" Q
    112         .. S HLTMP(Y,HLI)=""
    113         . S (HLI,HLYY)=0
    114         . ;rebuild array to put in proper order
    115         . F  S HLI=$O(HLTMP(HLI)),HLXX=0 Q:HLI=""  D
    116         .. F  S HLXX=$O(HLTMP(HLI,HLXX)) Q:'HLXX  S HLYY=HLYY+1,HLARY(HLYY,HLXX)=""
    117         . S HLPTR3=HLYY
    118         ;
    119         I '$D(HLARY)  S HLYY=0,HLXX="" D
    120         . ;build array in alphabetical order
    121         . F  S HLXX=$O(^HLCS(870,"B",HLXX)) Q:HLXX=""  S Y=$O(^(HLXX,0)),HLYY=HLYY+1,HLARY(HLYY,Y)=""
    122         . S HLPTR3=HLYY
    123         ;
    124         S HLI=HLPTR1,HLYY=6 ;HLYY=6TH Line of display
    125         ;HLARYD(6) through HLARYD(15) with 6 through 15 also representing line
    126         ;numbers on the display
    127         F HLI=HLI:1 S HLXX=$O(HLARY(HLI,0)) Q:HLYY=16!'HLXX  D COPY
    128         S HLPTR2=HLI-1
    129         ;Set all HLARY elements not defined on this pass to null
    130         F HLYY=HLYY:1:15 S HLARYD(HLYY)=""
    131         Q
    132 COPY    ;
    133         Q:'$D(^HLCS(870,HLXX))
    134         ;
    135         ;These lock tags lock nodes in the global so that the screen is
    136         ;refreshed in real-time. The lock forces the buffer to be refreshed,
    137         ;so that the display is up to date.
    138         ;
    139         ;**109**
    140         ;L +^HLCS(870,HLXX,0):0 L -^HLCS(870,HLXX,0) D CHKLOCK
    141         ;
    142         ; Set, even if not able to lock...
    143         S Y=$G(^HLCS(870,HLXX,0))
    144         ;
    145         ;name^rec^proc^send^sent^device^state^error
    146         S HLARYD(HLYY)=$P(Y,U)_"^^^^^"_$P(Y,U,4)_"^"_$P(Y,U,5)_"^"_$P(Y,U,19)
    147         ;
    148         ;**109**
    149         ;L +^HLCS(870,HLXX,"IN QUEUE BACK POINTER"):0 D CHKLOCK
    150         ;L -^HLCS(870,HLXX,"IN QUEUE BACK POINTER")
    151         ;
    152         S $P(HLARYD(HLYY),U,2)=$G(^HLCS(870,HLXX,"IN QUEUE BACK POINTER"))
    153         ;
    154         ;**109**
    155         ;L +^HLCS(870,HLXX,"IN QUEUE FRONT POINTER"):0 D CHKLOCK
    156         ;L -^HLCS(870,HLXX,"IN QUEUE FRONT POINTER")
    157         ;
    158         S $P(HLARYD(HLYY),U,3)=$G(^HLCS(870,HLXX,"IN QUEUE FRONT POINTER"))
    159         ;
    160         ;**109**
    161         ;L +^HLCS(870,HLXX,"OUT QUEUE BACK POINTER"):0 D CHKLOCK
    162         ;L -^HLCS(870,HLXX,"OUT QUEUE BACK POINTER")
    163         ;
    164         S $P(HLARYD(HLYY),U,4)=$G(^HLCS(870,HLXX,"OUT QUEUE BACK POINTER"))
    165         ;
    166         ;**109**
    167         ;L +^HLCS(870,HLXX,"OUT QUEUE FRONT POINTER"):0 D CHKLOCK
    168         ;L -^HLCS(870,HLXX,"OUT QUEUE FRONT POINTER")
    169         ;
    170         S $P(HLARYD(HLYY),U,5)=$G(^HLCS(870,HLXX,"OUT QUEUE FRONT POINTER"))
    171         ;
    172         S X=HLARYD(HLYY),Y=$P(X,U,2)+$P(X,U,3)+$P(X,U,4)+$P(X,U,5)
    173         ;if Select and the Y=0, nothing to report
    174         I 'Y,HLDISP="S" S HLARYD(HLYY)="" Q
    175         S HLYY=HLYY+1
    176         Q
    177         ;
    178 CHKLOCK ; Call here immediately after trying to lock.  And, BE SURE that
    179         ; nothing might occur that would change $T after the lock attempt!!
    180         ; $T,HLXX -- req
    181         N NM870
    182         QUIT:$T  ;-> Lock obtained...
    183         S NM870=$P($G(^HLCS(870,+HLXX,0)),U)
    184         S NM870=$S(NM870]"":NM870_" (IEN #"_HLXX_")",1:"IEN #"_HLXX)
    185         S HLOCK(NM870)=""
    186         QUIT
    187         ;
    188 HELP    ;
    189         W HLCON,@IOF
    190         W !,"You have the following options when monitoring the Messaging System:"
    191         W !,"Enter the command letter parentheses: N,B,Q,A,S,V or ?"
    192         W !!,"(N) takes you to the next page of the display of Logical Links."
    193         W !!,"(B) takes you back one page."
    194         W !!,"(Q) terminates the monitor."
    195         W !!,"(A) provides a display of all links defined on your system."
    196         W !!,"(S) displays only those links that have had message traffic."
    197         W !!,"(V) prompts for a view name and displays links defined in view."
    198         W !!,"    Note that (S) is the default display at startup."
    199         W !!,"**PRESS <RET> TO CONTINUE**"
    200         R X:DTIME
    201         W @IOF
    202         W !,?25,"Device Types and corresponding prefixes:"
    203         W !!,?30,"PC -- Persistent TCP/IP Client"
    204         W !!,?30,"NC -- Non-Persistent TCP/IP Client"
    205         W !!,?30,"SS -- Single-threaded TCP/IP Server"
    206         W !!,?30,"MS -- Multi-threaded TCP/IP Server"
    207         W !!,?30,"SH -- Serial HLLP"
    208         W !!,?30,"SX -- Serial X3.28"
    209         W !!,?30,"MM -- MailMan"
    210         W !!,"**PRESS <RET> TO CONTINUE**"
    211         R X:DTIME
    212         W HLCOFF
    213         Q
    214 EXIT    ;
    215         ;Turn Cursor back on
    216         W HLCON
    217         D KVAR^HLCSTERM
    218         Q
    219         ;
    220 LOCKED(HLOCK)   ; Anything locked?
    221         ;
    222         ;
    223         ; Nothing locked...
    224         I '$D(HLOCK) QUIT "" ;->
    225         ;
    226         W !!,"Editing of logical link data is occurring right now.  For this reason, some of"
    227         W !,"the information on the 'System Link Monitor' report might not be accurate for"
    228         W !,"the following node(s)..."
    229         W !
    230         ;
    231         S HLOCK=""
    232         F  S HLOCK=$O(HLOCK(HLOCK)) Q:HLOCK']""  D
    233         .  W !,?5,HLOCK
    234         ;
    235         S ACTION=$$BTE("Press RETURN to print report or '^' to exit... ",1)
    236         ;
    237         QUIT $S(ACTION=1:1,1:"")
    238         ;
    239 BTE(PMT,FF)     ;
    240         N DIR,DIRUT,DTOUT,DUOUT,X,Y
    241         F X=1:1:$G(FF) W !
    242         S DIR(0)="EA",DIR("A")=PMT
    243         D ^DIR
    244         QUIT $S(Y=1:"",1:1)
    245         ;
     1HLCSMON ;SF-DISPLAY DRIVER PROGRAM  ;07/10/2000  12:18
     2 ;;1.6;HEALTH LEVEL SEVEN;**34,40,48,49,65,66,73,109**;Oct 13, 1995
     3 ;
     4 ;This Program drives a real-time display monitor for the HL7
     5 ;Package. All the data used by this display is stored in file
     6 ;# 870. Several callable entry points were broken
     7 ;out of this routine and placed into HLCSMON1
     8 ;
     9 ;This routine has no required input parameters other than require that
     10 ;U be defined, it does not instantiate any parameters either.
     11 ;
     12 ;
     13 ;HLARY=array of all,HLARYD=array of display,HLARYO=array of old values
     14 ;HLPTR1=top of display,HLPTR2=bottom of display,HLPTR3=last in HLVARY
     15INIT N HLARY,HLARYD,HLARYO,HLCOFF,HLCON,HLDISP,HLPTR1,HLPTR2,HLPTR3,HLRESP
     16 N HLDEV,HLERR,HLEVL,HLHDR,HLNODE,HLOCK
     17 N HLPARAM,HLPROC,HLPROD,HLSEND,HLSENT,HLSITE
     18 N HLI,HLREC,HLRUNCNT,HLSTAT,HLTMSTAT,HLLMSTAT,HLVIEW,HLXX,HLYY,X,Y,DX,DY
     19 ;
     20 D ^HLCSTERM ;Sets up variables to control display attributes
     21INIT1 ;
     22 ; Next 4 lines copied here from top of START by patch 73...
     23 ;HLRUNCNT=number of in filers^out filers, HLDISP=display mode
     24 S HLRUNCNT="-1^-1",HLPTR1=1 S:'$D(HLDISP) HLDISP="S"
     25 D BUILDARY ;Build an array for display
     26 QUIT:$$LOCKED(.HLOCK)  ;-> Anything locked?
     27 ;
     28 W HLCOFF ;Shut Cursor off
     29 D HEADER^HLCSTERM ;Write header
     30 D WDATA^HLCSMON1(5,17,"","","Incoming filers running => ")
     31 D WDATA^HLCSMON1(5,18,"","","Outgoing filers running => ")
     32 D WDATA^HLCSMON1(5,20,"","","Select a Command:")
     33 D WDATA^HLCSMON1(1,21,"","","(N)EXT  (B)ACKUP  (A)LL LINKS  (S)CREENED  (V)IEWS  (Q)UIT  (?) HELP: ")
     34 ;HLRUNCNT=number of in filers^out filers, HLDISP=display mode
     35 S HLRUNCNT="-1^-1",HLPTR1=1 S:'$D(HLDISP) HLDISP="S"
     36START ;
     37 D BUILDARY ;Build an array for display
     38 D DISPLAY^HLCSMON1 ;Display the array just built
     39 D READ
     40 ;HLRESP=user response
     41 I '$L(HLRESP) G START
     42 G:HLRESP="Q" EXIT
     43 ;any of following commands, kill old values
     44 K HLARYO,HLTMSTAT,HLLMSTAT
     45 I HLRESP="?" D HELP G INIT1
     46 I HLRESP="V" D VIEW G INIT1
     47 I "AS"[HLRESP K HLARY,HLEVL S HLDISP=HLRESP G INIT1
     48 I "NB"[HLRESP D NEXT
     49 G START
     50 ;
     51READ ;Prompt the user for the next action
     52 D WDATA^HLCSMON1(71,21,"","","",1)
     53 W HLCON
     54 R X#1:3
     55 W HLCOFF
     56 S HLRESP=$S(X="":X,"Qq^"[X:"Q","Bb"[X:"B","Nn"[X:"N","Aa"[X:"A","Vv"[X:"V",X="?":"?","Ss"[X:"S",1:"")
     57 Q
     58 ;
     59VIEW ;select new view
     60 W HLCON,!!
     61 N DIC
     62 S DIC="^HLCS(869.3,1,6,",DIC(0)="QEA"
     63 D ^DIC Q:Y<0
     64 S HLVIEW=+Y,HLDISP="V"
     65 W HLCOFF
     66 Q
     67 ;
     68NEXT ;
     69 ;Next page
     70 I HLRESP="N" D
     71 . ;no more
     72 . I HLPTR2=HLPTR3 D EOB Q
     73 . S Y=HLPTR2+10,HLEVL(HLPTR1)=""
     74 . ;exceed list, get last 10
     75 . I Y>HLPTR3 S HLPTR2=HLPTR3,HLPTR1=HLPTR2-9 Q
     76 . S HLPTR1=HLPTR2,HLPTR2=Y
     77 ;
     78 ;Backup a page
     79 I HLRESP="B" D
     80 . ;top of list
     81 . I HLPTR1=1 D EOB Q
     82 . I HLDISP="S" S HLPTR1=$O(HLEVL(HLPTR1),-1) Q
     83 . S Y=HLPTR1-9
     84 . ;can't go back 10, reset to top
     85 . I Y'>0 S HLPTR1=1,HLPTR2=10 Q
     86 . S HLPTR2=HLPTR1,HLPTR1=Y
     87 ;
     88 ;Erase what might be displayed on line 22
     89 D WDATA^HLCSMON1(1,22,IOELALL,"","")
     90 Q
     91EOB D WDATA^HLCSMON1(5,22,IORVON,IORVOFF,"CANNOT "_$S(HLRESP="N":"ADVANCE",1:"BACKUP")_" BEYOND END OF BUFFER")
     92 W $C(7) H 2
     93 Q
     94 ;
     95BUILDARY ;
     96 K HLARYD
     97 ;
     98 ;if view is defined, get links
     99 I $G(HLVIEW) D  S HLVIEW=0,HLDISP="V"
     100 . N HLTMP
     101 . K HLARY,HLEVL S HLI=0
     102 . F  S HLI=$O(^HLCS(869.3,1,6,HLVIEW,1,HLI)) Q:'HLI  S HLYY=+$P($G(^(HLI,0)),U,2) D
     103 .. S Y=$P($G(^HLCS(870,HLI,0)),U) Q:Y=""
     104 .. ;build array by DISPLAY ORDER and then by NAME
     105 .. I HLYY S HLTMP(HLYY,HLI)="" Q
     106 .. S HLTMP(Y,HLI)=""
     107 . S (HLI,HLYY)=0
     108 . ;rebuild array to put in proper order
     109 . F  S HLI=$O(HLTMP(HLI)),HLXX=0 Q:HLI=""  D
     110 .. F  S HLXX=$O(HLTMP(HLI,HLXX)) Q:'HLXX  S HLYY=HLYY+1,HLARY(HLYY,HLXX)=""
     111 . S HLPTR3=HLYY
     112 ;
     113 I '$D(HLARY)  S HLYY=0,HLXX="" D
     114 . ;build array in alphabetical order
     115 . F  S HLXX=$O(^HLCS(870,"B",HLXX)) Q:HLXX=""  S Y=$O(^(HLXX,0)),HLYY=HLYY+1,HLARY(HLYY,Y)=""
     116 . S HLPTR3=HLYY
     117 ;
     118 S HLI=HLPTR1,HLYY=6 ;HLYY=6TH Line of display
     119 ;HLARYD(6) through HLARYD(15) with 6 through 15 also representing line
     120 ;numbers on the display
     121 F HLI=HLI:1 S HLXX=$O(HLARY(HLI,0)) Q:HLYY=16!'HLXX  D COPY
     122 S HLPTR2=HLI-1
     123 ;Set all HLARY elements not defined on this pass to null
     124 F HLYY=HLYY:1:15 S HLARYD(HLYY)=""
     125 Q
     126COPY ;
     127 Q:'$D(^HLCS(870,HLXX))
     128 ;
     129 ;These lock tags lock nodes in the global so that the screen is
     130 ;refreshed in real-time. The lock forces the buffer to be refreshed,
     131 ;so that the display is up to date.
     132 ;
     133 ;**109**
     134 ;L +^HLCS(870,HLXX,0):0 L -^HLCS(870,HLXX,0) D CHKLOCK
     135 ;
     136 ; Set, even if not able to lock...
     137 S Y=$G(^HLCS(870,HLXX,0))
     138 ;
     139 ;name^rec^proc^send^sent^device^state^error
     140 S HLARYD(HLYY)=$P(Y,U)_"^^^^^"_$P(Y,U,4)_"^"_$P(Y,U,5)_"^"_$P(Y,U,19)
     141 ;
     142 ;**109**
     143 ;L +^HLCS(870,HLXX,"IN QUEUE BACK POINTER"):0 D CHKLOCK
     144 ;L -^HLCS(870,HLXX,"IN QUEUE BACK POINTER")
     145 ;
     146 S $P(HLARYD(HLYY),U,2)=$G(^HLCS(870,HLXX,"IN QUEUE BACK POINTER"))
     147 ;
     148 ;**109**
     149 ;L +^HLCS(870,HLXX,"IN QUEUE FRONT POINTER"):0 D CHKLOCK
     150 ;L -^HLCS(870,HLXX,"IN QUEUE FRONT POINTER")
     151 ;
     152 S $P(HLARYD(HLYY),U,3)=$G(^HLCS(870,HLXX,"IN QUEUE FRONT POINTER"))
     153 ;
     154 ;**109**
     155 ;L +^HLCS(870,HLXX,"OUT QUEUE BACK POINTER"):0 D CHKLOCK
     156 ;L -^HLCS(870,HLXX,"OUT QUEUE BACK POINTER")
     157 ;
     158 S $P(HLARYD(HLYY),U,4)=$G(^HLCS(870,HLXX,"OUT QUEUE BACK POINTER"))
     159 ;
     160 ;**109**
     161 ;L +^HLCS(870,HLXX,"OUT QUEUE FRONT POINTER"):0 D CHKLOCK
     162 ;L -^HLCS(870,HLXX,"OUT QUEUE FRONT POINTER")
     163 ;
     164 S $P(HLARYD(HLYY),U,5)=$G(^HLCS(870,HLXX,"OUT QUEUE FRONT POINTER"))
     165 ;
     166 S X=HLARYD(HLYY),Y=$P(X,U,2)+$P(X,U,3)+$P(X,U,4)+$P(X,U,5)
     167 ;if Select and the Y=0, nothing to report
     168 I 'Y,HLDISP="S" S HLARYD(HLYY)="" Q
     169 S HLYY=HLYY+1
     170 Q
     171 ;
     172CHKLOCK ; Call here immediately after trying to lock.  And, BE SURE that
     173 ; nothing might occur that would change $T after the lock attempt!!
     174 ; $T,HLXX -- req
     175 N NM870
     176 QUIT:$T  ;-> Lock obtained...
     177 S NM870=$P($G(^HLCS(870,+HLXX,0)),U)
     178 S NM870=$S(NM870]"":NM870_" (IEN #"_HLXX_")",1:"IEN #"_HLXX)
     179 S HLOCK(NM870)=""
     180 QUIT
     181 ;
     182HELP ;
     183 W HLCON,@IOF
     184 W !,"You have the following options when monitoring the Messaging System:"
     185 W !,"Enter the command letter parentheses: N,B,Q,A,S,V or ?"
     186 W !!,"(N) takes you to the next page of the display of Logical Links."
     187 W !!,"(B) takes you back one page."
     188 W !!,"(Q) terminates the monitor."
     189 W !!,"(A) provides a display of all links defined on your system."
     190 W !!,"(S) displays only those links that have had message traffic."
     191 W !!,"(V) prompts for a view name and displays links defined in view."
     192 W !!,"    Note that (S) is the default display at startup."
     193 W !!,"**PRESS <RET> TO CONTINUE**"
     194 R X:DTIME
     195 W @IOF
     196 W !,?25,"Device Types and corresponding prefixes:"
     197 W !!,?30,"PC -- Persistent TCP/IP Client"
     198 W !!,?30,"NC -- Non-Persistent TCP/IP Client"
     199 W !!,?30,"SS -- Single-threaded TCP/IP Server"
     200 W !!,?30,"MS -- Multi-threaded TCP/IP Server"
     201 W !!,?30,"SH -- Serial HLLP"
     202 W !!,?30,"SX -- Serial X3.28"
     203 W !!,?30,"MM -- MailMan"
     204 W !!,"**PRESS <RET> TO CONTINUE**"
     205 R X:DTIME
     206 W HLCOFF
     207 Q
     208EXIT ;
     209 ;Turn Cursor back on
     210 W HLCON
     211 D KVAR^HLCSTERM
     212 Q
     213 ;
     214LOCKED(HLOCK) ; Anything locked?
     215 ;
     216 ;
     217 ; Nothing locked...
     218 I '$D(HLOCK) QUIT "" ;->
     219 ;
     220 W !!,"Editing of logical link data is occurring right now.  For this reason, some of"
     221 W !,"the information on the 'System Link Monitor' report might not be accurate for"
     222 W !,"the following node(s)..."
     223 W !
     224 ;
     225 S HLOCK=""
     226 F  S HLOCK=$O(HLOCK(HLOCK)) Q:HLOCK']""  D
     227 .  W !,?5,HLOCK
     228 ;
     229 S ACTION=$$BTE("Press RETURN to print report or '^' to exit... ",1)
     230 ;
     231 QUIT $S(ACTION=1:1,1:"")
     232 ;
     233BTE(PMT,FF) ;
     234 N DIR,DIRUT,DTOUT,DUOUT,X,Y
     235 F X=1:1:$G(FF) W !
     236 S DIR(0)="EA",DIR("A")=PMT
     237 D ^DIR
     238 QUIT $S(Y=1:"",1:1)
     239 ;
Note: See TracChangeset for help on using the changeset viewer.