1 | XMTDO ;ISC-SF/GMB-Deliver other (server,device) ;04/11/2002 07:05
|
---|
2 | ;;8.0;MailMan;;Jun 28, 2002
|
---|
3 | ; Replaces ZSER^, ZDEV^XMS1 (ISC-WASH/THM/CAP)
|
---|
4 | SERVER ; S.server TASKMAN ENTRY
|
---|
5 | ; Variables supplied by TaskMan: XMZ,XMSERVER,XMSVIENS
|
---|
6 | ; XMSERVER Name of the server option (includes leading S.)
|
---|
7 | N XMZREC,XMFROM,XMSERR,XMSUBJ
|
---|
8 | D DUZ^XUP(.5)
|
---|
9 | S XMZREC=$G(^XMB(3.9,XMZ,0)) I XMZREC="" D Q
|
---|
10 | . N XMPARM,XMINSTR
|
---|
11 | . S XMINSTR("FROM")=.5
|
---|
12 | . S XMPARM(1)=XMSERVER
|
---|
13 | . S XMPARM(2)=ZTSK
|
---|
14 | . D TASKBULL^XMXBULL(.5,"XM SEND ERR SERVER MSG",.XMPARM,"",.5,.XMINSTR)
|
---|
15 | S XMSUBJ=$P(XMZREC,U,1)
|
---|
16 | S:XMSUBJ["~U~" XMSUB=$$DECODEUP^XMXUTIL1(XMSUBJ)
|
---|
17 | S XMFROM=$P(XMZREC,U,2)
|
---|
18 | S:XMFROM["@" XMFROM=$$REPLYTO1^XMXREPLY(XMZ)
|
---|
19 | D SETSTAT(XMSVIENS,$$EZBLD^DIALOG(39300)) ; Server hand off ready
|
---|
20 | D DOSERV($E(XMSERVER,3,99),XMZ,XMFROM,XMSUBJ,.XMSERR)
|
---|
21 | D SETSTAT(XMSVIENS,$S($D(XMSERR):XMSERR,1:$$EZBLD^DIALOG(39301))) ; Served (hand off done)
|
---|
22 | S ZTREQ="@"
|
---|
23 | Q
|
---|
24 | DOSERV(XMXX,XMZ,XMFROM,XMSUBJ,XQSRVOK) ;
|
---|
25 | N XMCHAN,XMPROT,X,Y,XMSEN,XMREC,XMOPEN,XMCLOSE,XMSVIENS
|
---|
26 | S XMCHAN="SERVER"
|
---|
27 | D GET^XML
|
---|
28 | S X=XMXX_U_XMZ_U_XMFROM_U_XMSUBJ
|
---|
29 | D ^XQSRV
|
---|
30 | ; ^XQSRV1 calls SETSB^XMA1C to put the msg in the postmaster's bskt.
|
---|
31 | ; Instead, that line could read:
|
---|
32 | ; D:XQSRV PUTSERV^XMXMSGS1(XQSOP,XQMSG)
|
---|
33 | Q
|
---|
34 | DEVICE ; D.device or H.device TASKMAN ENTRY
|
---|
35 | ; Variables supplied by TaskMan: XMDUZ,XMZ,XMDVIENS,XMPRTHDR
|
---|
36 | ; TaskMan opens and closes the device.
|
---|
37 | N XMV
|
---|
38 | I '$G(DUZ) D DUZ^XUP(XMDUZ)
|
---|
39 | D INITAPI^XMVVITAE
|
---|
40 | D PRTMSG^XMJMP(XMDUZ,"?",XMZ,"0-",0,$G(XMPRTHDR,1))
|
---|
41 | D SETSTAT(XMDVIENS,$$EZBLD^DIALOG(39302)) ; Printed
|
---|
42 | S ZTREQ="@"
|
---|
43 | Q
|
---|
44 | SETSTAT(XMIENS,XMSTATUS) ; Record Time/Status in msg file
|
---|
45 | N XMFDA
|
---|
46 | S XMFDA(3.91,XMIENS,2)=$$NOW^XLFDT
|
---|
47 | S XMFDA(3.91,XMIENS,5)=XMSTATUS
|
---|
48 | D FILE^DIE("","XMFDA")
|
---|
49 | Q
|
---|