| 1 | XMJMA ;ISC-SF/GMB-Interactive Answer ;04/24/2002  10:32
 | 
|---|
| 2 |  ;;8.0;MailMan;;Jun 28, 2002
 | 
|---|
| 3 |  ; Replaces ^XMA11A,^XMA11B,SH^XMA1B,^XMA2,^XMA20 (ISC-WASH/CAP/THM)
 | 
|---|
| 4 | ANSWER(XMDUZ,XMZO,XMZOSUBJ,XMZOFROM) ;
 | 
|---|
| 5 |  N XMABORT,XMZ,XMINSTR,XMSUBJ,XMZODATE
 | 
|---|
| 6 |  S XMABORT=0
 | 
|---|
| 7 |  D INIT(XMDUZ,XMZO,.XMZODATE,.XMINSTR,.XMABORT) Q:XMABORT
 | 
|---|
| 8 |  S XMSUBJ=$E($$EZBLD^DIALOG(37006)_XMZOSUBJ,1,65) ; Re:
 | 
|---|
| 9 |  D SUBJ^XMJMS(.XMSUBJ,.XMABORT) Q:XMABORT
 | 
|---|
| 10 |  D CRE8XMZ^XMXSEND(XMSUBJ,.XMZ,1) I XMZ<1 S XMABORT=1 Q
 | 
|---|
| 11 |  D EDITON^XMJMS(XMDUZ,XMZ)
 | 
|---|
| 12 |  D PROCESS(XMDUZ,XMZO,XMZOSUBJ,XMZOFROM,XMZODATE,XMZ,XMSUBJ,.XMINSTR,.XMABORT)
 | 
|---|
| 13 |  D CLEANUP^XMXADDR
 | 
|---|
| 14 |  D:XMABORT=DTIME HALT^XMJMS($$EZBLD^DIALOG(34250)) ; answering
 | 
|---|
| 15 |  D EDITOFF^XMJMS(XMDUZ)
 | 
|---|
| 16 |  D:XMABORT KILLMSG^XMXUTIL(XMZ)
 | 
|---|
| 17 |  Q
 | 
|---|
| 18 | INIT(XMDUZ,XMZO,XMZODATE,XMINSTR,XMABORT) ;
 | 
|---|
| 19 |  D INIT^XMJMS(XMDUZ,.XMABORT) Q:XMABORT
 | 
|---|
| 20 |  S XMZODATE=$P($G(^XMB(3.9,XMZO,0)),U,3)
 | 
|---|
| 21 |  Q:$$COPYAMT^XMXSEC1(XMZO,0)
 | 
|---|
| 22 |  S XMABORT=1
 | 
|---|
| 23 |  D SHOW^XMJERR
 | 
|---|
| 24 |  ;This message has too many lines to 'Answer'.
 | 
|---|
| 25 |  ;Use 'Write' or 'Reply', instead.
 | 
|---|
| 26 |  N XMTEXT
 | 
|---|
| 27 |  D BLD^DIALOG(34251,"","","XMTEXT","F")
 | 
|---|
| 28 |  D MSG^DIALOG("WE","","","","XMTEXT")
 | 
|---|
| 29 |  Q
 | 
|---|
| 30 | PROCESS(XMDUZ,XMZO,XMZOSUBJ,XMZOFROM,XMZODATE,XMZ,XMSUBJ,XMINSTR,XMABORT) ;
 | 
|---|
| 31 |  N XMRESTR ;Copying original message and network signature ...
 | 
|---|
| 32 |  W !,$$EZBLD^DIALOG(34252)
 | 
|---|
| 33 |  D COPY^XMXANSER(XMZO,XMZOSUBJ,XMZOFROM,XMZODATE,XMZ)
 | 
|---|
| 34 |  D NETSIG^XMXEDIT(XMDUZ,XMZ)
 | 
|---|
| 35 |  D BODY^XMJMS(XMDUZ,XMZ,XMSUBJ,.XMRESTR,.XMABORT) Q:XMABORT
 | 
|---|
| 36 |  I XMZOFROM["@" D  Q:XMABORT
 | 
|---|
| 37 |  . D REPLYTO^XMJMR(XMZO,.XMZOFROM,.XMABORT) Q:XMABORT
 | 
|---|
| 38 |  . S XMINSTR("EXACT")=1 ; Match on exact domain name
 | 
|---|
| 39 |  . W !,$$EZBLD^DIALOG(34253,XMZOFROM) ; Addressing answer to:
 | 
|---|
| 40 |  E  W !,$$EZBLD^DIALOG(34254) ; Addressing answer to sender:
 | 
|---|
| 41 |  D INIT^XMXADDR
 | 
|---|
| 42 |  D ADDR^XMXADDR(XMDUZ,XMZOFROM,.XMINSTR,.XMRESTR)
 | 
|---|
| 43 |  I '$D(^TMP("XMY",$J)) W !,$$EZBLD^DIALOG(34255,$$NAME^XMXUTIL(XMZOFROM)) ; Failed in addressing answer to:
 | 
|---|
| 44 |  K XMRESTR("FLAGS") I $D(XMINSTR("EXACT")) K XMINSTR("EXACT")
 | 
|---|
| 45 |  D TOWHOM^XMJMT(XMDUZ,$$EZBLD^DIALOG(34110),.XMINSTR,.XMRESTR,.XMABORT) Q:XMABORT  ; Send
 | 
|---|
| 46 |  D SENDMSG^XMJMSO(XMDUZ,XMZ,XMSUBJ,.XMINSTR,.XMRESTR,.XMABORT) Q:XMABORT
 | 
|---|
| 47 |  Q
 | 
|---|