| [613] | 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
 | 
|---|