| 1 | XMJMORX ;ISC-SF/GMB-Range actions for ^TMP message lists ;12/04/2002  10:13
 | 
|---|
| 2 |  ;;8.0;MailMan;**9**;Jun 28, 2002
 | 
|---|
| 3 |  ; Similar to ^XMJMOR
 | 
|---|
| 4 | DELETE(XMDUZ,XMKALL,XMK) ; Delete
 | 
|---|
| 5 |  N XMMSG,XMABORT
 | 
|---|
| 6 |  S XMABORT=0
 | 
|---|
| 7 |  I $D(^TMP("XM",$J,".")) D
 | 
|---|
| 8 |  . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XDEL",34302,34303,.XMMSG,.XMABORT)
 | 
|---|
| 9 |  . ;K:'XMKALL ^TMP("XM",$J,".")
 | 
|---|
| 10 |  E  D
 | 
|---|
| 11 |  . D ACTWHICH^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XDEL",34301,34302,34303.1,.XMMSG,.XMABORT)
 | 
|---|
| 12 |  Q:XMABORT
 | 
|---|
| 13 |  W:$D(XMMSG) !,XMMSG
 | 
|---|
| 14 |  Q
 | 
|---|
| 15 | FILTER(XMDUZ,XMKALL,XMK) ; Filter
 | 
|---|
| 16 |  N XMMSG,XMABORT
 | 
|---|
| 17 |  S XMABORT=0
 | 
|---|
| 18 |  I $D(^TMP("XM",$J,".")) D
 | 
|---|
| 19 |  . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XFLTR",34306,0,.XMMSG)
 | 
|---|
| 20 |  E  D
 | 
|---|
| 21 |  . D ACTWHICH^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XFLTR",34305,34306,0,.XMMSG,.XMABORT)
 | 
|---|
| 22 |  Q:XMABORT
 | 
|---|
| 23 |  W:$D(XMMSG) !,XMMSG
 | 
|---|
| 24 |  Q
 | 
|---|
| 25 | FORWARD(XMDUZ,XMKALL,XMK) ; Forward
 | 
|---|
| 26 |  N XMWHICH,XMMSG,XMABORT,XMINSTR
 | 
|---|
| 27 |  S XMABORT=0
 | 
|---|
| 28 |  I $D(^TMP("XM",$J,".")) D  Q
 | 
|---|
| 29 |  . N XMKZ
 | 
|---|
| 30 |  . D INIT^XMXADDR
 | 
|---|
| 31 |  . S XMKZ=$O(^TMP("XM",$J,".",""))
 | 
|---|
| 32 |  . I '$O(^TMP("XM",$J,".",XMKZ)) D  Q
 | 
|---|
| 33 |  . . D FWDONE^XMJMOR(XMDUZ,$P(^TMP("XM",$J,"MSG",XMKZ),U,3),.XMINSTR,.XMABORT)
 | 
|---|
| 34 |  . D TOWHOM^XMJMT(XMDUZ,$$EZBLD^DIALOG(34111),.XMINSTR,"",.XMABORT) Q:XMABORT  ; Forward
 | 
|---|
| 35 |  . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XFWD^XMXMSGS1",34309,0,.XMMSG)
 | 
|---|
| 36 |  . D CLEANUP^XMXADDR
 | 
|---|
| 37 |  . I $D(XMERR) D ZSHOW^XMJERR
 | 
|---|
| 38 |  . W:$D(XMMSG) !,XMMSG
 | 
|---|
| 39 |  D WHICH^XMJMORX1(34308,0,.XMWHICH,.XMABORT) Q:XMABORT
 | 
|---|
| 40 |  D INIT^XMXADDR
 | 
|---|
| 41 |  I $P(XMWHICH,",",2,99)="",$P(XMWHICH,",",1)=+XMWHICH D  Q
 | 
|---|
| 42 |  . N XMZ
 | 
|---|
| 43 |  . S XMZ=$P($G(^TMP("XM",$J,"MSG",+XMWHICH)),U,3)
 | 
|---|
| 44 |  . I 'XMZ W !,$$EZBLD^DIALOG(34309.3) Q  ; No messages forwarded.
 | 
|---|
| 45 |  . D FWDONE^XMJMOR(XMDUZ,XMZ,.XMINSTR,.XMABORT)
 | 
|---|
| 46 |  D TOWHOM^XMJMT(XMDUZ,$$EZBLD^DIALOG(34111),.XMINSTR,"",.XMABORT) Q:XMABORT  ; Forward
 | 
|---|
| 47 |  D ACTMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,XMWHICH,"XFWD^XMXMSGS1",34309,.XMMSG)
 | 
|---|
| 48 |  D CLEANUP^XMXADDR
 | 
|---|
| 49 |  I $D(XMERR) D ZSHOW^XMJERR
 | 
|---|
| 50 |  W:$D(XMMSG) !,XMMSG
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 | LATER(XMDUZ,XMKALL,XMK) ; Later
 | 
|---|
| 53 |  N XMWHICH,XMMSG,XMABORT,XMWHEN
 | 
|---|
| 54 |  S XMABORT=0
 | 
|---|
| 55 |  I $D(^TMP("XM",$J,".")) D
 | 
|---|
| 56 |  . D LTRDATE^XMJMD(.XMWHEN,.XMABORT) Q:XMABORT
 | 
|---|
| 57 |  . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XLATER^XMXMSGS2",34312,0,.XMMSG)
 | 
|---|
| 58 |  E  D
 | 
|---|
| 59 |  . D WHICH^XMJMORX1(34311,0,.XMWHICH,.XMABORT) Q:XMABORT
 | 
|---|
| 60 |  . D LTRDATE^XMJMD(.XMWHEN,.XMABORT) Q:XMABORT
 | 
|---|
| 61 |  . D ACTMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,XMWHICH,"XLATER^XMXMSGS2",34312,.XMMSG)
 | 
|---|
| 62 |  Q:XMABORT
 | 
|---|
| 63 |  W:$D(XMMSG) !,XMMSG
 | 
|---|
| 64 |  Q
 | 
|---|
| 65 | NEWTOGL(XMDUZ,XMKALL,XMK) ; New Toggle
 | 
|---|
| 66 |  N XMMSG,XMABORT
 | 
|---|
| 67 |  S XMABORT=0
 | 
|---|
| 68 |  I $D(^TMP("XM",$J,".")) D
 | 
|---|
| 69 |  . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XNTOGL",34315,0,.XMMSG)
 | 
|---|
| 70 |  E  D
 | 
|---|
| 71 |  . D ACTWHICH^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XNTOGL",34314,34315,0,.XMMSG,.XMABORT)
 | 
|---|
| 72 |  Q:XMABORT
 | 
|---|
| 73 |  W:$D(XMMSG) !,XMMSG
 | 
|---|
| 74 |  Q
 | 
|---|
| 75 | PRINT(XMDUZ,XMPRTHDR) ; Print (Needs XMTYPE)
 | 
|---|
| 76 |  N XMRECIPS,XMABORT,XMSAVE,XMMSG,XMWHICH,XMZLIST,I
 | 
|---|
| 77 |  ; XMPRTHDR 1=Print header
 | 
|---|
| 78 |  ;          0=don't (headerless print)
 | 
|---|
| 79 |  ; XMRECIPS 0=Don't print recipients
 | 
|---|
| 80 |  ;          1=Print summary recipients
 | 
|---|
| 81 |  ;          2=Print detail recipients
 | 
|---|
| 82 |  S XMABORT=0
 | 
|---|
| 83 |  S:$G(XMPRTHDR)="" XMPRTHDR=1  ; default is to print with headers
 | 
|---|
| 84 |  I $D(^TMP("XM",$J,".")) D
 | 
|---|
| 85 |  . D LISTSEL(.XMZLIST)
 | 
|---|
| 86 |  E  D  Q:XMABORT
 | 
|---|
| 87 |  . D WHICH^XMJMORX1($S(XMPRTHDR:34317,1:34317.1),0,.XMWHICH,.XMABORT) Q:XMABORT
 | 
|---|
| 88 |  . D LIST(.XMWHICH,.XMZLIST)
 | 
|---|
| 89 |  I '$D(XMZLIST) W !!,$$EZBLD^DIALOG(34319) Q  ; No valid messages selected.
 | 
|---|
| 90 |  I +XMZLIST(1)=XMZLIST(1) D
 | 
|---|
| 91 |  . D PRTONE^XMJMOR(XMDUZ,$$BSKT^XMXUTIL2(XMDUZ,XMZLIST(1)),XMZLIST(1),XMPRTHDR,.XMABORT)
 | 
|---|
| 92 |  E  D
 | 
|---|
| 93 |  . D QRECIP^XMJMP(.XMRECIPS,.XMABORT) Q:XMABORT
 | 
|---|
| 94 |  . F I="DUZ","XMDUZ","XMV(","XMZLIST(","XMRECIPS","XMPRTHDR" S XMSAVE(I)=""
 | 
|---|
| 95 |  . D EN^XUTMDEVQ("PLISTX^XMJMP",$$EZBLD^DIALOG(34501),.XMSAVE) ; MailMan: Print
 | 
|---|
| 96 |  . I $G(POP) S XMABORT=1 Q
 | 
|---|
| 97 |  . W:$D(XMMSG) !!,XMMSG
 | 
|---|
| 98 |  Q:$G(XMTYPE)'["N"!XMABORT
 | 
|---|
| 99 |  N XMKZ,XMZ,XMRANGE
 | 
|---|
| 100 |  I $D(^TMP("XM",$J,".")) D  Q
 | 
|---|
| 101 |  . S XMKZ=""
 | 
|---|
| 102 |  . F  S XMKZ=$O(^TMP("XM",$J,".",XMKZ)) Q:'XMKZ  D
 | 
|---|
| 103 |  . . S XMZ=$P(^TMP("XM",$J,"MSG",XMKZ),U,3)
 | 
|---|
| 104 |  . . Q:$D(^XMB(3.7,XMDUZ,XMTYPE,XMK,XMZ))
 | 
|---|
| 105 |  . . K ^TMP("XM",$J,"MSG",XMKZ)
 | 
|---|
| 106 |  . . K ^TMP("XM",$J,".",XMKZ)
 | 
|---|
| 107 |  F I=1:1:$L(XMWHICH,",") D
 | 
|---|
| 108 |  . S XMRANGE=$P(XMWHICH,",",I)
 | 
|---|
| 109 |  . Q:'XMRANGE
 | 
|---|
| 110 |  . F XMKZ=$P(XMRANGE,"-",1):1:$S(XMRANGE["-":$P(XMRANGE,"-",2),1:XMRANGE) D
 | 
|---|
| 111 |  . . Q:'$D(^TMP("XM",$J,"MSG",XMKZ))
 | 
|---|
| 112 |  . . S XMZ=$P(^TMP("XM",$J,"MSG",XMKZ),U,3)
 | 
|---|
| 113 |  . . K:'$D(^XMB(3.7,XMDUZ,XMTYPE,XMK,XMZ)) ^TMP("XM",$J,"MSG",XMKZ)
 | 
|---|
| 114 |  Q
 | 
|---|
| 115 | LISTSEL(XMZLIST) ;
 | 
|---|
| 116 |  N XMKZ,J,XMZ
 | 
|---|
| 117 |  S (XMKZ,J)=0
 | 
|---|
| 118 |  F  S XMKZ=$O(^TMP("XM",$J,".",XMKZ)) Q:'XMKZ  D
 | 
|---|
| 119 |  . S XMZ=$P(^TMP("XM",$J,"MSG",XMKZ),U,3)
 | 
|---|
| 120 |  . I J=0 S J=1,XMZLIST(1)=XMZ Q
 | 
|---|
| 121 |  . I $L(XMZLIST(J))+$L(XMZ)>240 S J=J+1,XMZLIST(J)=XMZ Q
 | 
|---|
| 122 |  . S XMZLIST(J)=XMZLIST(J)_","_XMZ
 | 
|---|
| 123 |  Q
 | 
|---|
| 124 | LIST(XMWHICH,XMZLIST) ;
 | 
|---|
| 125 |  N I,J,XMRANGE,XMKZ,XMZ
 | 
|---|
| 126 |  S J=0
 | 
|---|
| 127 |  F I=1:1:$L(XMWHICH,",") D
 | 
|---|
| 128 |  . S XMRANGE=$P(XMWHICH,",",I)
 | 
|---|
| 129 |  . Q:'XMRANGE
 | 
|---|
| 130 |  . F XMKZ=$P(XMRANGE,"-",1):1:$S(XMRANGE["-":$P(XMRANGE,"-",2),1:XMRANGE) D
 | 
|---|
| 131 |  . . S XMZ=$P($G(^TMP("XM",$J,"MSG",XMKZ)),U,3) Q:'XMZ
 | 
|---|
| 132 |  . . I J=0 S J=1,XMZLIST(1)=XMZ Q
 | 
|---|
| 133 |  . . I $L(XMZLIST(J))+$L(XMZ)>240 S J=J+1,XMZLIST(J)=XMZ Q
 | 
|---|
| 134 |  . . S XMZLIST(J)=XMZLIST(J)_","_XMZ
 | 
|---|
| 135 |  Q
 | 
|---|
| 136 | SAVE(XMDUZ,XMKALL,XMK) ; Save a range of messages to another basket
 | 
|---|
| 137 |  N XMWHICH,XMMSG,XMABORT,XMKTO,XMDIC,XMKNTO
 | 
|---|
| 138 |  S XMABORT=0
 | 
|---|
| 139 |  S XMDIC("B")="@" ; no default bskt
 | 
|---|
| 140 |  I $D(^TMP("XM",$J,".")) D
 | 
|---|
| 141 |  . D SELBSKT^XMJBU(XMDUZ,$$EZBLD^DIALOG(34325),"L",.XMDIC,.XMKTO,.XMKNTO) I XMKTO=U S XMABORT=1 Q  ; Save messages to which basket?
 | 
|---|
| 142 |  . I 'XMKALL,XMKTO=XMK S XMMSG=$$EZBLD^DIALOG(34326) Q  ; Same basket.  No messages saved.
 | 
|---|
| 143 |  . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XSAVE",34324,0,.XMMSG)
 | 
|---|
| 144 |  . K:'XMKALL ^TMP("XM",$J,".")
 | 
|---|
| 145 |  E  D
 | 
|---|
| 146 |  . D WHICH^XMJMORX1(34323,0,.XMWHICH,.XMABORT) Q:XMABORT
 | 
|---|
| 147 |  . D SELBSKT^XMJBU(XMDUZ,$$EZBLD^DIALOG(34325),"L",.XMDIC,.XMKTO,.XMKNTO) ; Save messages to which basket?
 | 
|---|
| 148 |  . I XMKTO=U S XMABORT=1 Q
 | 
|---|
| 149 |  . I 'XMKALL,XMKTO=XMK S XMMSG=$$EZBLD^DIALOG(34326) Q  ; Same basket.  No messages saved.
 | 
|---|
| 150 |  . D ACTMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,XMWHICH,"XSAVE",34324,.XMMSG)
 | 
|---|
| 151 |  Q:XMABORT
 | 
|---|
| 152 |  W:$D(XMMSG) !,XMMSG
 | 
|---|
| 153 |  Q
 | 
|---|
| 154 | TERM(XMDUZ,XMKALL,XMK) ; Terminate a range of messages
 | 
|---|
| 155 |  N XMMSG,XMABORT
 | 
|---|
| 156 |  S XMABORT=0
 | 
|---|
| 157 |  I $D(^TMP("XM",$J,".")) D
 | 
|---|
| 158 |  . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XTERM",34329,34330,.XMMSG,.XMABORT)
 | 
|---|
| 159 |  . ;K:'XMKALL ^TMP("XM",$J,".")
 | 
|---|
| 160 |  E  D
 | 
|---|
| 161 |  . D ACTWHICH^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XTERM",34328,34329,34330.1,.XMMSG,.XMABORT)
 | 
|---|
| 162 |  Q:XMABORT
 | 
|---|
| 163 |  Q:'$D(XMMSG)
 | 
|---|
| 164 |  W !,XMMSG
 | 
|---|
| 165 |  I XMMSG W !,$$EZBLD^DIALOG($S(XMK<1:34331.1,1:34331)) ; You won't see future responses.  (In WASTE basket)
 | 
|---|
| 166 |  Q
 | 
|---|
| 167 | VAPOR(XMDUZ,XMKALL,XMK) ; Set vaporize date for a range of messages
 | 
|---|
| 168 |  N XMWHICH,XMMSG,XMABORT,XMWHEN
 | 
|---|
| 169 |  S XMABORT=0
 | 
|---|
| 170 |  I $D(^TMP("XM",$J,".")) D
 | 
|---|
| 171 |  . D VAPRDATE^XMJMOR(.XMWHEN,.XMABORT) Q:XMABORT
 | 
|---|
| 172 |  . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XVAPOR^XMXMSGS2",$S(XMWHEN="@":34337.2,1:34337),$S(XMWHEN="@":34338.2,1:34338),.XMMSG)
 | 
|---|
| 173 |  E  D
 | 
|---|
| 174 |  . D VAPRDATE^XMJMOR(.XMWHEN,.XMABORT) Q:XMABORT
 | 
|---|
| 175 |  . D WHICH^XMJMORX1($S(XMWHEN="@":34336.1,1:34336),$S(XMWHEN="@":34338.3,1:34338.1),.XMWHICH,.XMABORT) Q:XMABORT
 | 
|---|
| 176 |  . D ACTMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,XMWHICH,"XVAPOR^XMXMSGS2",34337,.XMMSG)
 | 
|---|
| 177 |  Q:XMABORT
 | 
|---|
| 178 |  W:$D(XMMSG) !,XMMSG
 | 
|---|
| 179 |  Q
 | 
|---|
| 180 | XMTPRI(XMDUZ,XMKALL,XMK) ; Toggle transmit priority
 | 
|---|
| 181 |  ; XMDUZ better be .5 and XMK better be > 1000!
 | 
|---|
| 182 |  N XMTPRI,XMWHICH,XMMSG,XMABORT
 | 
|---|
| 183 |  S XMABORT=0
 | 
|---|
| 184 |  I $D(^TMP("XM",$J,".")) D
 | 
|---|
| 185 |  . D ASKPRI(.XMTPRI,.XMABORT) Q:XMABORT
 | 
|---|
| 186 |  . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XXP^XMXMSGS1",34334,34335,.XMMSG,.XMABORT)
 | 
|---|
| 187 |  E  D
 | 
|---|
| 188 |  . D WHICH^XMJMORX1(34333,34335.1,.XMWHICH,.XMABORT) Q:XMABORT
 | 
|---|
| 189 |  . D ASKPRI(.XMTPRI,.XMABORT) Q:XMABORT
 | 
|---|
| 190 |  . D ACTMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,XMWHICH,"XXP^XMXMSGS1",34334,.XMMSGT)
 | 
|---|
| 191 |  Q:XMABORT
 | 
|---|
| 192 |  W:$D(XMMSG) !,XMMSG
 | 
|---|
| 193 |  Q
 | 
|---|
| 194 | ASKPRI(XMTPRI,XMABORT) ;
 | 
|---|
| 195 |  N XMTXT,XMOPT,XMOX,XMDIR
 | 
|---|
| 196 |  D SET^XMXSEC1("H",34332.3,.XMOPT,.XMOX) ; H:High
 | 
|---|
| 197 |  D SET^XMXSEC1("L",34332.1,.XMOPT,.XMOX) ; L:Low
 | 
|---|
| 198 |  D SET^XMXSEC1("N",34332.2,.XMOPT,.XMOX) ; N:Normal
 | 
|---|
| 199 |  S XMDIR("A")=$$EZBLD^DIALOG(34332) ; Select transmit priority:
 | 
|---|
| 200 |  I $G(XMTPRI)'="" D
 | 
|---|
| 201 |  . S XMTXT=XMOPT(XMTPRI)
 | 
|---|
| 202 |  . S XMDIR("B")=XMOX("O",XMTPRI)_":"_XMTXT
 | 
|---|
| 203 |  S XMDIR("??")="XM-U-B-XMIT PRIORITY TOGGLE"
 | 
|---|
| 204 |  D XMDIR^XMJDIR(.XMDIR,.XMOPT,.XMOX,.XMTPRI,.XMABORT) Q:XMABORT
 | 
|---|
| 205 |  S XMTPRI=$S(XMTPRI="N":0,XMTPRI="H":1,1:2)
 | 
|---|
| 206 |  Q
 | 
|---|