1 | XMXPRT ;ISC-SF/GMB-Print messages ;12/04/2002 13:52
|
---|
2 | ;;8.0;MailMan;**10**;Jun 28, 2002
|
---|
3 | ; For messages printed to the P-MESSAGE device,
|
---|
4 | ; XMAPSUBJ = message subject
|
---|
5 | ; XMY = message addressees
|
---|
6 | PRINT1(XMDUZ,XMZ,XMPRTTO,XMINSTR,ZTSK,XMAPSUBJ,XMY) ; Print one message
|
---|
7 | N XMWHICH,XMRECIPS,XMPRTHDR,ZTSAVE,ZTRTN,ZTDESC,ZTIO,ZTDTH,ZTUCI
|
---|
8 | D PINIT(.XMINSTR,.XMPRTHDR,.XMRECIPS,.XMWHICH,.ZTDTH)
|
---|
9 | F I="XMV(","DUZ","XMDUZ","XMZ","XMWHICH","XMRECIPS","XMPRTHDR","XMAPSUBJ","XMY(" S ZTSAVE(I)=""
|
---|
10 | ;S:$D(XMSECURE) (ZTSAVE("XMSECURE"),ZTSAVE("XMSECURE("))=""
|
---|
11 | S ZTIO=XMPRTTO
|
---|
12 | S ZTDESC=$$EZBLD^DIALOG(34501) ; MailMan: Print
|
---|
13 | S ZTRTN="XPMSG^XMXPRT"
|
---|
14 | D ^%ZTLOAD
|
---|
15 | Q
|
---|
16 | PRINTM(XMDUZ,XMPRTTO,XMINSTR,ZTSK,XMAPSUBJ,XMY) ; Print more than one message
|
---|
17 | N XMWHICH,XMRECIPS,XMPRTHDR,ZTSAVE,ZTRTN,ZTDESC,ZTIO,ZTDTH,ZTUCI
|
---|
18 | D PINIT(.XMINSTR,.XMPRTHDR,.XMRECIPS,.XMWHICH,.ZTDTH)
|
---|
19 | I "^0^*^"'[(U_XMWHICH_U) S XMWHICH="*"
|
---|
20 | F I="XMV(","DUZ","XMDUZ","XMZ","XMWHICH","XMRECIPS","XMPRTHDR","^TMP(""XM"",$J,""XMZ"",","XMAPSUBJ","XMY(" S ZTSAVE(I)=""
|
---|
21 | ;S:$D(XMSECURE) (ZTSAVE("XMSECURE"),ZTSAVE("XMSECURE("))=""
|
---|
22 | S ZTIO=XMPRTTO
|
---|
23 | S ZTDESC=$$EZBLD^DIALOG(34501) ; MailMan: Print
|
---|
24 | S ZTRTN="XPRANGE^XMXPRT"
|
---|
25 | D ^%ZTLOAD
|
---|
26 | Q
|
---|
27 | PINIT(XMINSTR,XMPRTHDR,XMRECIPS,XMWHICH,XMWHEN) ;
|
---|
28 | ; XMPRTHDR 1=Print header (default)
|
---|
29 | ; 0=don't (headerless print)
|
---|
30 | ; XMRECIPS 0=Don't print recipients (default)
|
---|
31 | ; 1=Print summary recipients
|
---|
32 | ; 2=Print detail recipients
|
---|
33 | S XMPRTHDR=+$G(XMINSTR("HDR"),1)
|
---|
34 | S XMRECIPS=+$G(XMINSTR("RECIPS"))
|
---|
35 | S XMWHICH=$G(XMINSTR("RESPS"),"*")
|
---|
36 | S XMWHEN=$G(XMINSTR("WHEN"),"NOW")
|
---|
37 | S XMWHEN=$S(XMWHEN="NOW":$H,1:$$FMTH^XLFDT(XMWHEN))
|
---|
38 | Q
|
---|
39 | PMSG(XMDUZ,XMZ,XMWHICH,XMRECIPS,XMPRTHDR,XMFIRST) ;
|
---|
40 | XPMSG ;
|
---|
41 | N XMK,XMKN,XMZREC,XMRESPS,XMPTR
|
---|
42 | S ZTREQ="@"
|
---|
43 | S XMK=+$O(^XMB(3.7,"M",XMZ,XMDUZ,""))
|
---|
44 | S XMKN=$S(XMK:$P(^XMB(3.7,XMDUZ,2,XMK,0),U,1),1:$$EZBLD^DIALOG(34014)) ; * N/A *
|
---|
45 | D RESPONSE^XMJMP(XMDUZ,XMZ,.XMRESPS,.XMPTR)
|
---|
46 | S:XMWHICH="*" XMWHICH=$S(XMRESPS:"0-"_XMRESPS,1:0)
|
---|
47 | S XMZREC=^XMB(3.9,XMZ,0)
|
---|
48 | I $E(IOST,1,2)="C-"!'$G(XMFIRST,1) W @IOF
|
---|
49 | D:XMPRTHDR IDHDR^XMJMP(XMDUZ)
|
---|
50 | D PRINTIT^XMJMP1(XMDUZ,XMK,XMKN,XMZ,XMZREC,XMRESPS,XMPTR,XMWHICH,XMRECIPS,0,XMPRTHDR)
|
---|
51 | Q
|
---|
52 | PRANGE(XMDUZ,XMWHICH,XMRECIPS,XMPRTHDR) ;
|
---|
53 | XPRANGE ; Print a range of messages.
|
---|
54 | N XMZ,XMFIRST
|
---|
55 | S XMZ=""
|
---|
56 | S XMFIRST=1
|
---|
57 | F S XMZ=$O(^TMP("XM",$J,"XMZ",XMZ)) Q:'XMZ D
|
---|
58 | . Q:'$D(^XMB(3.9,XMZ,0))
|
---|
59 | . D PMSG(XMDUZ,XMZ,XMWHICH,XMRECIPS,XMPRTHDR,.XMFIRST)
|
---|
60 | . S XMFIRST=0
|
---|
61 | Q
|
---|