| 1 | XMJMOI ;ISC-SF/GMB-Options at Ignore prompt ;03/20/2003  09:28
 | 
|---|
| 2 |  ;;8.0;MailMan;**15**;Jun 28, 2002
 | 
|---|
| 3 |  ; Replaces ^XMA1,^XMA10 (ISC-WASH/CAP/THM)
 | 
|---|
| 4 | READMSG(XMNEWS,XMDUZ,XMK,XMKN,XMZ,XMABORT) ;
 | 
|---|
| 5 |  N XMFINISH,XMFROM,XMINSTR,XMRESTR,XMIEN,XMSUBJ,XMSETPRI,XMRESPSO,XMRESP,XMORIGN8,XMDIR,XMY,XMOPT,XMOX
 | 
|---|
| 6 |  D INIT^XMJMOI1(XMDUZ,XMZ,.XMSUBJ,.XMFROM,.XMORIGN8,.XMINSTR,.XMRESTR,.XMIEN,.XMRESPSO,.XMRESP)
 | 
|---|
| 7 |  S (XMFINISH,XMABORT)=0
 | 
|---|
| 8 |  F  D  Q:XMFINISH!XMABORT
 | 
|---|
| 9 |  . N XMNAME,XMEDITOK
 | 
|---|
| 10 |  . D CHKBSKT(XMDUZ,XMZ,.XMK,.XMKN)
 | 
|---|
| 11 |  . D READSET^XMJMOI1(XMDUZ,XMK,XMKN,XMZ,XMFROM,XMORIGN8,.XMINSTR,XMIEN,.XMDIR,.XMOPT,.XMOX)
 | 
|---|
| 12 |  . I XMIEN,'$D(XMOPT("B","?")) D CHKRESP^XMJMP(XMDUZ,XMZ,XMRESPSO,XMRESP)
 | 
|---|
| 13 |  . D XMDIR^XMJDIR(.XMDIR,.XMOPT,.XMOX,.XMY,.XMABORT)
 | 
|---|
| 14 |  . S XMEDITOK='$D(XMOPT("E","?")) ; Used in 'forward'
 | 
|---|
| 15 |  . K XMDIR,XMOPT,XMOX
 | 
|---|
| 16 |  . Q:XMABORT
 | 
|---|
| 17 |  . D CHKBSKT(XMDUZ,XMZ,.XMK,.XMKN)
 | 
|---|
| 18 |  . D @XMY
 | 
|---|
| 19 |  D:XMINSTR("FLAGS")["P" PRIORITY^XMJMOI1
 | 
|---|
| 20 |  I XMINSTR("FLAGS")["N" D  Q
 | 
|---|
| 21 |  . I XMNEWS D  Q
 | 
|---|
| 22 |  . . I $D(^XTMP("XM","MAKENEW",XMDUZ,XMZ)),$D(^XMB(3.7,XMDUZ,"N0",XMK,XMZ)) D NONEW^XMXUTIL(XMDUZ,XMK,XMZ,1)
 | 
|---|
| 23 |  . D MAKENEW^XMXUTIL(XMDUZ,XMK,XMZ,1)
 | 
|---|
| 24 |  ;I 'XMABORT,$D(^XMB(3.7,XMDUZ,"N0",XMK,XMZ)),+XMRESP=+$P($G(^XMB(3.9,XMZ,3,0)),U,4) D NONEW^XMXUTIL(XMDUZ,XMK,XMZ,1)
 | 
|---|
| 25 |  I 'XMABORT,$D(^XMB(3.7,XMDUZ,"N0",XMK,XMZ)) D NONEW^XMXUTIL(XMDUZ,XMK,XMZ,1)
 | 
|---|
| 26 |  I XMABORT,XMNEWS,'$D(^XMB(3.7,XMDUZ,"N0",XMK,XMZ)) S ^XTMP("XM","MAKENEW",XMDUZ,XMZ)=""
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 | CHKBSKT(XMDUZ,XMZ,XMK,XMKN) ; Is the message still where we think it is?
 | 
|---|
| 29 |  I XMK,'$D(^XMB(3.7,"M",XMZ,XMDUZ,XMK)) D RESETXMK^XMJMOI1(XMDUZ,XMZ,.XMK,.XMKN) Q
 | 
|---|
| 30 |  I 'XMK,$D(^XMB(3.7,"M",XMZ,XMDUZ)) D RESETXMK^XMJMOI1(XMDUZ,XMZ,.XMK,.XMKN)
 | 
|---|
| 31 |  Q
 | 
|---|
| 32 | A ; Answer to sender only
 | 
|---|
| 33 |  I '$$GOTNS^XMVVITA(XMDUZ) D  Q:'$$GOTNS^XMVVITA(XMDUZ)
 | 
|---|
| 34 |  . W !!,$$EZBLD^DIALOG(37401.1) ; You must have a Network Signature to Answer a message.
 | 
|---|
| 35 |  . D CRE8NS^XMVVITA
 | 
|---|
| 36 |  D ANSWER^XMJMA(XMDUZ,XMZ,XMSUBJ,XMFROM)
 | 
|---|
| 37 |  D IMBACK^XMJMOI1(34070) ; Finished with 'Answer' command.
 | 
|---|
| 38 |  Q
 | 
|---|
| 39 | AA ; Access Attachments
 | 
|---|
| 40 |  N XMAPBLOB
 | 
|---|
| 41 |  I $G(IOT)="IMPC" D BLOB^XMAPBLOB Q
 | 
|---|
| 42 |  D NODISP^XMAPBLOB
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 | B ; Backup
 | 
|---|
| 45 |  D BACKUP^XMJMP(XMDUZ,XMK,XMKN,XMZ)
 | 
|---|
| 46 |  S XMRESP=$P($G(^XMB(3.9,XMZ,1,XMIEN,0)),U,2)
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 | BR ; Print to the Browser
 | 
|---|
| 49 |  D PRINT(1,1)
 | 
|---|
| 50 |  Q
 | 
|---|
| 51 | C ; Copy
 | 
|---|
| 52 |  D COPY^XMJMC(XMDUZ,XMK,XMZ,XMFROM)
 | 
|---|
| 53 |  D IMBACK^XMJMOI1(34071) ; Finished with 'Copy' command.
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 | D ; Delete
 | 
|---|
| 56 |  D DEL^XMXMSGS2(XMDUZ,XMK,XMZ)
 | 
|---|
| 57 |  W !,$$EZBLD^DIALOG(34302.2) ; Message deleted.
 | 
|---|
| 58 |  S XMFINISH=1
 | 
|---|
| 59 |  Q:XMINSTR("FLAGS")'["N"
 | 
|---|
| 60 |  S XMINSTR("FLAGS")=$TR(XMINSTR("FLAGS"),"N")
 | 
|---|
| 61 |  K:XMNEWS ^XTMP("XM","MAKENEW",XMDUZ,XMZ)
 | 
|---|
| 62 |  Q
 | 
|---|
| 63 | E ; Edit
 | 
|---|
| 64 |  D EDIT^XMJMOIE(XMDUZ,XMK,XMZ,.XMSUBJ,.XMINSTR,.XMRESTR)
 | 
|---|
| 65 |  Q
 | 
|---|
| 66 | F ; Forward
 | 
|---|
| 67 |  N XMABORT
 | 
|---|
| 68 |  D GETRESTR^XMJMOI1(XMDUZ,XMZ,"",.XMINSTR,.XMRESTR)
 | 
|---|
| 69 |  S XMABORT=0
 | 
|---|
| 70 |  D INIT^XMXADDR
 | 
|---|
| 71 |  D TOWHOM^XMJMT(XMDUZ,$$EZBLD^DIALOG(34111),.XMINSTR,.XMRESTR,.XMABORT)  ; Find out to whom to forward
 | 
|---|
| 72 |  I 'XMABORT D
 | 
|---|
| 73 |  . I XMEDITOK,'$D(XMINSTR("VAPOR")),$$BCAST^XMJMSO D  I XMABORT W !,$$EZBLD^DIALOG(34309.4) Q  ; Message not forwarded.
 | 
|---|
| 74 |  . . I '$$QVAPOR^XMJMSO S:$D(DTOUT)!$D(DUOUT) XMABORT=1 Q
 | 
|---|
| 75 |  . . D V^XMJMOIE I $D(DTOUT)!$D(DUOUT) S XMABORT=1
 | 
|---|
| 76 |  . D FWD^XMKP(XMDUZ,XMZ,.XMINSTR)
 | 
|---|
| 77 |  . W !,$$EZBLD^DIALOG(34309.2) ; Message forwarded.
 | 
|---|
| 78 |  D CLEANUP^XMXADDR
 | 
|---|
| 79 |  Q
 | 
|---|
| 80 | H ; Headerless Print
 | 
|---|
| 81 |  D PRINT(0)
 | 
|---|
| 82 |  Q
 | 
|---|
| 83 | HG ; Help:Group Information
 | 
|---|
| 84 |  D HELP^XMHIG
 | 
|---|
| 85 |  Q
 | 
|---|
| 86 | HU ; Help:User Information
 | 
|---|
| 87 |  D HELP^XMHIU
 | 
|---|
| 88 |  Q
 | 
|---|
| 89 | I ; Ignore
 | 
|---|
| 90 |  S XMFINISH=1
 | 
|---|
| 91 |  Q
 | 
|---|
| 92 | IN ; Information Only toggle
 | 
|---|
| 93 |  I $G(XMINSTR("FLAGS"))["I" D
 | 
|---|
| 94 |  . S XMINSTR("FLAGS")=$TR(XMINSTR("FLAGS"),"I")
 | 
|---|
| 95 |  . S $P(^XMB(3.9,XMZ,0),U,12)=""
 | 
|---|
| 96 |  . W !,$$EZBLD^DIALOG(37409.9) ; Message is no longer 'Information only'.
 | 
|---|
| 97 |  E  D
 | 
|---|
| 98 |  . S XMINSTR("FLAGS")=$G(XMINSTR("FLAGS"))_"I"
 | 
|---|
| 99 |  . S $P(^XMB(3.9,XMZ,0),U,12)="y"
 | 
|---|
| 100 |  . W !,$$EZBLD^DIALOG(37408.9) ; Message is now 'Information only'.  No one may reply.
 | 
|---|
| 101 |  Q
 | 
|---|
| 102 | K ; Toggle Priority of future replies
 | 
|---|
| 103 |  I $G(XMINSTR("FLAGS"))["K" D
 | 
|---|
| 104 |  . S XMINSTR("FLAGS")=$TR(XMINSTR("FLAGS"),"K")
 | 
|---|
| 105 |  . S $P(^XMB(3.9,XMZ,1,XMIEN,0),U,9)=1
 | 
|---|
| 106 |  . W !,$$EZBLD^DIALOG(37412.9) ; Responses will not be delivered as Priority Mail.
 | 
|---|
| 107 |  E  D
 | 
|---|
| 108 |  . S XMINSTR("FLAGS")=$G(XMINSTR("FLAGS"))_"K"
 | 
|---|
| 109 |  . S $P(^XMB(3.9,XMZ,1,XMIEN,0),U,9)=""
 | 
|---|
| 110 |  . W !,$$EZBLD^DIALOG(37411.9) ; Responses will be delivered as Priority Mail.
 | 
|---|
| 111 |  S XMSETPRI=1
 | 
|---|
| 112 |  Q
 | 
|---|
| 113 | L ; Later
 | 
|---|
| 114 |  D LATER^XMJMD(XMDUZ,XMZ)
 | 
|---|
| 115 |  Q
 | 
|---|
| 116 | N ; Toggle New
 | 
|---|
| 117 |  I XMINSTR("FLAGS")["N" D
 | 
|---|
| 118 |  . S XMINSTR("FLAGS")=$TR(XMINSTR("FLAGS"),"N")
 | 
|---|
| 119 |  . K:XMNEWS ^XTMP("XM","MAKENEW",XMDUZ,XMZ)
 | 
|---|
| 120 |  . W !,$$EZBLD^DIALOG(37415.9) ; Message will NOT be new next time.
 | 
|---|
| 121 |  E  D
 | 
|---|
| 122 |  . S XMINSTR("FLAGS")=XMINSTR("FLAGS")_"N"
 | 
|---|
| 123 |  . S:XMNEWS ^XTMP("XM","MAKENEW",XMDUZ,XMZ)=""
 | 
|---|
| 124 |  . W !,$$EZBLD^DIALOG(37414.9) ; Message will be new next time.
 | 
|---|
| 125 |  . I XMK>.5!XMNEWS Q
 | 
|---|
| 126 |  . D SAVEMSG(XMDUZ,.XMK,.XMKN,XMZ,XMSUBJ,XMFROM,$G(XMINSTR("RCPT BSKT")))
 | 
|---|
| 127 |  Q
 | 
|---|
| 128 | P ; Print
 | 
|---|
| 129 |  D PRINT(1)
 | 
|---|
| 130 |  Q
 | 
|---|
| 131 | PRINT(XMPRTHDR,XMBROWSE) ;
 | 
|---|
| 132 |  N XMABORT
 | 
|---|
| 133 |  S XMABORT=0
 | 
|---|
| 134 |  I '$G(XMBROWSE),XMINSTR("TYPE")["K"!(XMINSTR("TYPE")["X") D  Q:XMABORT
 | 
|---|
| 135 |  . N DIR,XMMSG,XMPARM
 | 
|---|
| 136 |  . S XMMSG=$$EZBLD^DIALOG($S(XMINSTR("TYPE")["K":34076,1:34077)) ; KIDS build / PackMan message
 | 
|---|
| 137 |  . D BLD^DIALOG(34078,XMMSG,"","DIR(""A"")") ; Print just the descriptive text of this _XMMSG
 | 
|---|
| 138 |  . ;This is a _XMMSG_.
 | 
|---|
| 139 |  . ;Answer YES to print just the descriptive text.
 | 
|---|
| 140 |  . ;Answer NO to print the whole thing (x lines) and/or any responses.
 | 
|---|
| 141 |  . S XMPARM(1)=XMMSG,XMPARM(2)=$$LINE^XMXUTIL2(XMZ)
 | 
|---|
| 142 |  . D BLD^DIALOG(34079,.XMPARM,"","DIR(""?"")") ; Print just the descriptive text of this _XMMSG
 | 
|---|
| 143 |  . S DIR(0)="Y",DIR("B")=$$EZBLD^DIALOG(39054) ; Yes
 | 
|---|
| 144 |  . D ^DIR I $D(DIRUT) S XMABORT=1 Q
 | 
|---|
| 145 |  . Q:'Y
 | 
|---|
| 146 |  . N A,DIE,DIF,X,XCF,XCN,XMR
 | 
|---|
| 147 |  . S XMR=^XMB(3.9,XMZ,0)
 | 
|---|
| 148 |  . D XT^XMP2
 | 
|---|
| 149 |  . S XMABORT=1
 | 
|---|
| 150 |  D PRINT^XMJMP(XMDUZ,XMK,XMZ,XMPRTHDR,.XMBROWSE)
 | 
|---|
| 151 |  S XMRESP=$P($G(^XMB(3.9,XMZ,1,XMIEN,0)),U,2)
 | 
|---|
| 152 |  Q
 | 
|---|
| 153 | Q ; Query
 | 
|---|
| 154 |  D Q^XMJMQ(XMDUZ,XMK,XMKN,XMZ)
 | 
|---|
| 155 |  Q
 | 
|---|
| 156 | QC ; Query Current
 | 
|---|
| 157 |  D QX^XMJMQ(XMDUZ,XMK,XMKN,XMZ,"QC")
 | 
|---|
| 158 |  Q
 | 
|---|
| 159 | QD ; Query Detailed
 | 
|---|
| 160 |  I $D(XMNAME) D QNAMEX^XMJMQ(XMDUZ,XMK,XMKN,XMZ,XMNAME) Q
 | 
|---|
| 161 |  D QD^XMJMQ(XMDUZ,XMK,XMKN,XMZ)
 | 
|---|
| 162 |  Q
 | 
|---|
| 163 | QN ; Query Network
 | 
|---|
| 164 |  D QN^XMJMQ(XMDUZ,XMK,XMKN,XMZ)
 | 
|---|
| 165 |  Q
 | 
|---|
| 166 | QNC ; Query Not Current
 | 
|---|
| 167 |  D QX^XMJMQ(XMDUZ,XMK,XMKN,XMZ,"QNC")
 | 
|---|
| 168 |  Q
 | 
|---|
| 169 | QT ; Query Terminated
 | 
|---|
| 170 |  D QX^XMJMQ(XMDUZ,XMK,XMKN,XMZ,"QT")
 | 
|---|
| 171 |  Q
 | 
|---|
| 172 | RI ; Reply, Include previous response(s)
 | 
|---|
| 173 | R ; Reply
 | 
|---|
| 174 |  N XMINCL
 | 
|---|
| 175 |  S XMINCL=(XMY="RI")
 | 
|---|
| 176 |  I $D(^XMB(3.7,XMDUZ,"N0",XMK,XMZ)),+XMRESP=+$P($G(^XMB(3.9,XMZ,3,0)),U,4) D NONEW^XMXUTIL(XMDUZ,XMK,XMZ,1)
 | 
|---|
| 177 |  D REPLY^XMJMR(XMDUZ,.XMK,.XMKN,XMZ,XMSUBJ,XMFROM,.XMINSTR,XMIEN,XMRESPSO,XMINCL,.XMRESP)
 | 
|---|
| 178 |  Q
 | 
|---|
| 179 | S ; Save (replaces S^XMA1B)
 | 
|---|
| 180 |  N XMKTO,XMDIC
 | 
|---|
| 181 |  I XMK,XMK'=.5 S XMDIC("B")="@" ; no default basket
 | 
|---|
| 182 |  E  D
 | 
|---|
| 183 |  . N XMKTO
 | 
|---|
| 184 |  . S XMKTO=0
 | 
|---|
| 185 |  . D CHEKBSKT^XMTDL2(XMDUZ,.XMKTO,XMSUBJ,XMFROM,$G(XMINSTR("RCPT BSKT")))
 | 
|---|
| 186 |  . S XMDIC("B")=$P(^XMB(3.7,XMDUZ,2,XMKTO,0),U)
 | 
|---|
| 187 |  D SELBSKT^XMJBU(XMDUZ,$$EZBLD^DIALOG(34325.1),"L",.XMDIC,.XMKTO) Q:XMKTO=U  ; Save message into basket:
 | 
|---|
| 188 |  D CHKBSKT(XMDUZ,XMZ,.XMK,.XMKN)
 | 
|---|
| 189 |  I XMKTO=XMK D
 | 
|---|
| 190 |  . W !,$$EZBLD^DIALOG(34326.1) ; That's the same basket the message is already in.
 | 
|---|
| 191 |  E  D
 | 
|---|
| 192 |  . I $D(^XMB(3.7,XMDUZ,"N0",XMK,XMZ)) D NONEW^XMXUTIL(XMDUZ,XMK,XMZ,1)
 | 
|---|
| 193 |  . D MOVEIT^XMXMSGS2(XMDUZ,XMK,XMZ,XMKTO)
 | 
|---|
| 194 |  . W !,$$EZBLD^DIALOG(34324.2) ; Message saved.
 | 
|---|
| 195 |  . S XMK=XMKTO
 | 
|---|
| 196 |  S XMFINISH=1
 | 
|---|
| 197 |  Q
 | 
|---|
| 198 | T ; Terminate (replaces T^XMA1)
 | 
|---|
| 199 |  D TERM^XMXMSGS2(XMDUZ,XMK,XMZ)
 | 
|---|
| 200 |  W !,$$EZBLD^DIALOG($S(XMK<1:34331.1,1:34331)) ; You won't see future replies.  (In WASTE basket)
 | 
|---|
| 201 |  S XMFINISH=1
 | 
|---|
| 202 |  S:XMINSTR("FLAGS")["P" XMINSTR("FLAGS")=$TR(XMINSTR("FLAGS"),"P")
 | 
|---|
| 203 |  Q:XMINSTR("FLAGS")'["N"
 | 
|---|
| 204 |  S XMINSTR("FLAGS")=$TR(XMINSTR("FLAGS"),"N")
 | 
|---|
| 205 |  K:XMNEWS ^XTMP("XM","MAKENEW",XMDUZ,XMZ)
 | 
|---|
| 206 |  Q
 | 
|---|
| 207 | V ; Set Vaporize date for msg in basket (replaces DATE^XMA11A)
 | 
|---|
| 208 |  N DIE,DA,DR
 | 
|---|
| 209 |  L +^XMB(3.7,XMDUZ,2,XMK,1,XMZ,0):1
 | 
|---|
| 210 |  S DIE="^XMB(3.7,"_XMDUZ_",2,"_XMK_",1,"
 | 
|---|
| 211 |  S DA(2)=XMDUZ,DA(1)=XMK,DA=XMZ
 | 
|---|
| 212 |  S DR=5
 | 
|---|
| 213 |  D ^DIE
 | 
|---|
| 214 |  L -^XMB(3.7,XMDUZ,2,XMK,1,XMZ,0)
 | 
|---|
| 215 |  Q
 | 
|---|
| 216 | W ; Write a new msg
 | 
|---|
| 217 |  N XMSECURE,XMPAKMAN,XMSECBAD  ; Needed!  (In case Write from KIDS msg.)
 | 
|---|
| 218 |  D SEND^XMJMS
 | 
|---|
| 219 |  D IMBACK^XMJMOI1(34072) ; Finished with 'Write' command.
 | 
|---|
| 220 |  Q
 | 
|---|
| 221 | X ; Xtract PackMan msg
 | 
|---|
| 222 |  I XMDUZ=.5,XMK>999 G XP
 | 
|---|
| 223 |  N X,DIC,C,I,ER,J,K,T,X2,XCF,XCM,XCN,XMLOC,XMN,XMP0,XMR,XMS
 | 
|---|
| 224 |  S X=XMZ,DIC(0)="N"
 | 
|---|
| 225 |  D MM^XMP
 | 
|---|
| 226 |  Q
 | 
|---|
| 227 | XP ; Xmit Priority Toggle (for remote transmit queues only)
 | 
|---|
| 228 |  N XMTPRI,XMABORT
 | 
|---|
| 229 |  S XMABORT=0
 | 
|---|
| 230 |  D ASKPRI^XMJMORX(.XMTPRI,.XMABORT) Q:XMABORT
 | 
|---|
| 231 |  D XP^XMXMSGS1(XMDUZ,XMK,XMZ,XMTPRI)
 | 
|---|
| 232 |  Q
 | 
|---|
| 233 | SAVEMSG(XMDUZ,XMK,XMKN,XMZ,XMSUBJ,XMFROM,XMZBSKT) ;
 | 
|---|
| 234 |  ; The message is currently in the waste basket or no basket.
 | 
|---|
| 235 |  ; Save it to an appropriate (not waste) basket.
 | 
|---|
| 236 |  N XMKTO
 | 
|---|
| 237 |  S XMKTO=0
 | 
|---|
| 238 |  D CHEKBSKT^XMTDL2(XMDUZ,.XMKTO,XMSUBJ,XMFROM,$G(XMINSTR("RCPT BSKT")))
 | 
|---|
| 239 |  S:XMKTO=.5 XMKTO=1
 | 
|---|
| 240 |  S XMKN=$P(^XMB(3.7,XMDUZ,2,XMKTO,0),U,1)
 | 
|---|
| 241 |  I 'XMK D
 | 
|---|
| 242 |  . D PUTMSG^XMXMSGS2(XMDUZ,XMKTO,XMKN,XMZ)
 | 
|---|
| 243 |  E  D
 | 
|---|
| 244 |  . ; Message is in waste basket
 | 
|---|
| 245 |  . D COPYIT^XMXMSGS2(XMDUZ,.5,XMZ,XMKTO)
 | 
|---|
| 246 |  . D ZAPIT^XMXMSGS2(XMDUZ,.5,XMZ)
 | 
|---|
| 247 |  S XMK=XMKTO
 | 
|---|
| 248 |  W !,$$EZBLD^DIALOG(34325.9,XMKN) ; Message saved to _XMKN_ basket.
 | 
|---|
| 249 |  Q
 | 
|---|