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
|
---|