Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: XMJMORX

XMJMORX.m

Go to the documentation of this file.
  1. XMJMORX ;ISC-SF/GMB-Range actions for ^TMP message lists ;12/04/2002 10:13
  1. ;;8.0;MailMan;**9**;Jun 28, 2002
  1. ; Similar to ^XMJMOR
  1. DELETE(XMDUZ,XMKALL,XMK) ; Delete
  1. N XMMSG,XMABORT
  1. S XMABORT=0
  1. I $D(^TMP("XM",$J,".")) D
  1. . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XDEL",34302,34303,.XMMSG,.XMABORT)
  1. . ;K:'XMKALL ^TMP("XM",$J,".")
  1. E D
  1. . D ACTWHICH^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XDEL",34301,34302,34303.1,.XMMSG,.XMABORT)
  1. Q:XMABORT
  1. W:$D(XMMSG) !,XMMSG
  1. Q
  1. FILTER(XMDUZ,XMKALL,XMK) ; Filter
  1. N XMMSG,XMABORT
  1. S XMABORT=0
  1. I $D(^TMP("XM",$J,".")) D
  1. . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XFLTR",34306,0,.XMMSG)
  1. E D
  1. . D ACTWHICH^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XFLTR",34305,34306,0,.XMMSG,.XMABORT)
  1. Q:XMABORT
  1. W:$D(XMMSG) !,XMMSG
  1. Q
  1. FORWARD(XMDUZ,XMKALL,XMK) ; Forward
  1. N XMWHICH,XMMSG,XMABORT,XMINSTR
  1. S XMABORT=0
  1. I $D(^TMP("XM",$J,".")) D Q
  1. . N XMKZ
  1. . D INIT^XMXADDR
  1. . S XMKZ=$O(^TMP("XM",$J,".",""))
  1. . I '$O(^TMP("XM",$J,".",XMKZ)) D Q
  1. . . D FWDONE^XMJMOR(XMDUZ,$P(^TMP("XM",$J,"MSG",XMKZ),U,3),.XMINSTR,.XMABORT)
  1. . D TOWHOM^XMJMT(XMDUZ,$$EZBLD^DIALOG(34111),.XMINSTR,"",.XMABORT) Q:XMABORT ; Forward
  1. . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XFWD^XMXMSGS1",34309,0,.XMMSG)
  1. . D CLEANUP^XMXADDR
  1. . I $D(XMERR) D ZSHOW^XMJERR
  1. . W:$D(XMMSG) !,XMMSG
  1. D WHICH^XMJMORX1(34308,0,.XMWHICH,.XMABORT) Q:XMABORT
  1. D INIT^XMXADDR
  1. I $P(XMWHICH,",",2,99)="",$P(XMWHICH,",",1)=+XMWHICH D Q
  1. . N XMZ
  1. . S XMZ=$P($G(^TMP("XM",$J,"MSG",+XMWHICH)),U,3)
  1. . I 'XMZ W !,$$EZBLD^DIALOG(34309.3) Q ; No messages forwarded.
  1. . D FWDONE^XMJMOR(XMDUZ,XMZ,.XMINSTR,.XMABORT)
  1. D TOWHOM^XMJMT(XMDUZ,$$EZBLD^DIALOG(34111),.XMINSTR,"",.XMABORT) Q:XMABORT ; Forward
  1. D ACTMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,XMWHICH,"XFWD^XMXMSGS1",34309,.XMMSG)
  1. D CLEANUP^XMXADDR
  1. I $D(XMERR) D ZSHOW^XMJERR
  1. W:$D(XMMSG) !,XMMSG
  1. Q
  1. LATER(XMDUZ,XMKALL,XMK) ; Later
  1. N XMWHICH,XMMSG,XMABORT,XMWHEN
  1. S XMABORT=0
  1. I $D(^TMP("XM",$J,".")) D
  1. . D LTRDATE^XMJMD(.XMWHEN,.XMABORT) Q:XMABORT
  1. . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XLATER^XMXMSGS2",34312,0,.XMMSG)
  1. E D
  1. . D WHICH^XMJMORX1(34311,0,.XMWHICH,.XMABORT) Q:XMABORT
  1. . D LTRDATE^XMJMD(.XMWHEN,.XMABORT) Q:XMABORT
  1. . D ACTMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,XMWHICH,"XLATER^XMXMSGS2",34312,.XMMSG)
  1. Q:XMABORT
  1. W:$D(XMMSG) !,XMMSG
  1. Q
  1. NEWTOGL(XMDUZ,XMKALL,XMK) ; New Toggle
  1. N XMMSG,XMABORT
  1. S XMABORT=0
  1. I $D(^TMP("XM",$J,".")) D
  1. . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XNTOGL",34315,0,.XMMSG)
  1. E D
  1. . D ACTWHICH^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XNTOGL",34314,34315,0,.XMMSG,.XMABORT)
  1. Q:XMABORT
  1. W:$D(XMMSG) !,XMMSG
  1. Q
  1. PRINT(XMDUZ,XMPRTHDR) ; Print (Needs XMTYPE)
  1. N XMRECIPS,XMABORT,XMSAVE,XMMSG,XMWHICH,XMZLIST,I
  1. ; XMPRTHDR 1=Print header
  1. ; 0=don't (headerless print)
  1. ; XMRECIPS 0=Don't print recipients
  1. ; 1=Print summary recipients
  1. ; 2=Print detail recipients
  1. S XMABORT=0
  1. S:$G(XMPRTHDR)="" XMPRTHDR=1 ; default is to print with headers
  1. I $D(^TMP("XM",$J,".")) D
  1. . D LISTSEL(.XMZLIST)
  1. E D Q:XMABORT
  1. . D WHICH^XMJMORX1($S(XMPRTHDR:34317,1:34317.1),0,.XMWHICH,.XMABORT) Q:XMABORT
  1. . D LIST(.XMWHICH,.XMZLIST)
  1. I '$D(XMZLIST) W !!,$$EZBLD^DIALOG(34319) Q ; No valid messages selected.
  1. I +XMZLIST(1)=XMZLIST(1) D
  1. . D PRTONE^XMJMOR(XMDUZ,$$BSKT^XMXUTIL2(XMDUZ,XMZLIST(1)),XMZLIST(1),XMPRTHDR,.XMABORT)
  1. E D
  1. . D QRECIP^XMJMP(.XMRECIPS,.XMABORT) Q:XMABORT
  1. . F I="DUZ","XMDUZ","XMV(","XMZLIST(","XMRECIPS","XMPRTHDR" S XMSAVE(I)=""
  1. . D EN^XUTMDEVQ("PLISTX^XMJMP",$$EZBLD^DIALOG(34501),.XMSAVE) ; MailMan: Print
  1. . I $G(POP) S XMABORT=1 Q
  1. . W:$D(XMMSG) !!,XMMSG
  1. Q:$G(XMTYPE)'["N"!XMABORT
  1. N XMKZ,XMZ,XMRANGE
  1. I $D(^TMP("XM",$J,".")) D Q
  1. . S XMKZ=""
  1. . F S XMKZ=$O(^TMP("XM",$J,".",XMKZ)) Q:'XMKZ D
  1. . . S XMZ=$P(^TMP("XM",$J,"MSG",XMKZ),U,3)
  1. . . Q:$D(^XMB(3.7,XMDUZ,XMTYPE,XMK,XMZ))
  1. . . K ^TMP("XM",$J,"MSG",XMKZ)
  1. . . K ^TMP("XM",$J,".",XMKZ)
  1. F I=1:1:$L(XMWHICH,",") D
  1. . S XMRANGE=$P(XMWHICH,",",I)
  1. . Q:'XMRANGE
  1. . F XMKZ=$P(XMRANGE,"-",1):1:$S(XMRANGE["-":$P(XMRANGE,"-",2),1:XMRANGE) D
  1. . . Q:'$D(^TMP("XM",$J,"MSG",XMKZ))
  1. . . S XMZ=$P(^TMP("XM",$J,"MSG",XMKZ),U,3)
  1. . . K:'$D(^XMB(3.7,XMDUZ,XMTYPE,XMK,XMZ)) ^TMP("XM",$J,"MSG",XMKZ)
  1. Q
  1. LISTSEL(XMZLIST) ;
  1. N XMKZ,J,XMZ
  1. S (XMKZ,J)=0
  1. F S XMKZ=$O(^TMP("XM",$J,".",XMKZ)) Q:'XMKZ D
  1. . S XMZ=$P(^TMP("XM",$J,"MSG",XMKZ),U,3)
  1. . I J=0 S J=1,XMZLIST(1)=XMZ Q
  1. . I $L(XMZLIST(J))+$L(XMZ)>240 S J=J+1,XMZLIST(J)=XMZ Q
  1. . S XMZLIST(J)=XMZLIST(J)_","_XMZ
  1. Q
  1. LIST(XMWHICH,XMZLIST) ;
  1. N I,J,XMRANGE,XMKZ,XMZ
  1. S J=0
  1. F I=1:1:$L(XMWHICH,",") D
  1. . S XMRANGE=$P(XMWHICH,",",I)
  1. . Q:'XMRANGE
  1. . F XMKZ=$P(XMRANGE,"-",1):1:$S(XMRANGE["-":$P(XMRANGE,"-",2),1:XMRANGE) D
  1. . . S XMZ=$P($G(^TMP("XM",$J,"MSG",XMKZ)),U,3) Q:'XMZ
  1. . . I J=0 S J=1,XMZLIST(1)=XMZ Q
  1. . . I $L(XMZLIST(J))+$L(XMZ)>240 S J=J+1,XMZLIST(J)=XMZ Q
  1. . . S XMZLIST(J)=XMZLIST(J)_","_XMZ
  1. Q
  1. SAVE(XMDUZ,XMKALL,XMK) ; Save a range of messages to another basket
  1. N XMWHICH,XMMSG,XMABORT,XMKTO,XMDIC,XMKNTO
  1. S XMABORT=0
  1. S XMDIC("B")="@" ; no default bskt
  1. I $D(^TMP("XM",$J,".")) D
  1. . D SELBSKT^XMJBU(XMDUZ,$$EZBLD^DIALOG(34325),"L",.XMDIC,.XMKTO,.XMKNTO) I XMKTO=U S XMABORT=1 Q ; Save messages to which basket?
  1. . I 'XMKALL,XMKTO=XMK S XMMSG=$$EZBLD^DIALOG(34326) Q ; Same basket. No messages saved.
  1. . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XSAVE",34324,0,.XMMSG)
  1. . K:'XMKALL ^TMP("XM",$J,".")
  1. E D
  1. . D WHICH^XMJMORX1(34323,0,.XMWHICH,.XMABORT) Q:XMABORT
  1. . D SELBSKT^XMJBU(XMDUZ,$$EZBLD^DIALOG(34325),"L",.XMDIC,.XMKTO,.XMKNTO) ; Save messages to which basket?
  1. . I XMKTO=U S XMABORT=1 Q
  1. . I 'XMKALL,XMKTO=XMK S XMMSG=$$EZBLD^DIALOG(34326) Q ; Same basket. No messages saved.
  1. . D ACTMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,XMWHICH,"XSAVE",34324,.XMMSG)
  1. Q:XMABORT
  1. W:$D(XMMSG) !,XMMSG
  1. Q
  1. TERM(XMDUZ,XMKALL,XMK) ; Terminate a range of messages
  1. N XMMSG,XMABORT
  1. S XMABORT=0
  1. I $D(^TMP("XM",$J,".")) D
  1. . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XTERM",34329,34330,.XMMSG,.XMABORT)
  1. . ;K:'XMKALL ^TMP("XM",$J,".")
  1. E D
  1. . D ACTWHICH^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XTERM",34328,34329,34330.1,.XMMSG,.XMABORT)
  1. Q:XMABORT
  1. Q:'$D(XMMSG)
  1. W !,XMMSG
  1. I XMMSG W !,$$EZBLD^DIALOG($S(XMK<1:34331.1,1:34331)) ; You won't see future responses. (In WASTE basket)
  1. Q
  1. VAPOR(XMDUZ,XMKALL,XMK) ; Set vaporize date for a range of messages
  1. N XMWHICH,XMMSG,XMABORT,XMWHEN
  1. S XMABORT=0
  1. I $D(^TMP("XM",$J,".")) D
  1. . D VAPRDATE^XMJMOR(.XMWHEN,.XMABORT) Q:XMABORT
  1. . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XVAPOR^XMXMSGS2",$S(XMWHEN="@":34337.2,1:34337),$S(XMWHEN="@":34338.2,1:34338),.XMMSG)
  1. E D
  1. . D VAPRDATE^XMJMOR(.XMWHEN,.XMABORT) Q:XMABORT
  1. . D WHICH^XMJMORX1($S(XMWHEN="@":34336.1,1:34336),$S(XMWHEN="@":34338.3,1:34338.1),.XMWHICH,.XMABORT) Q:XMABORT
  1. . D ACTMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,XMWHICH,"XVAPOR^XMXMSGS2",34337,.XMMSG)
  1. Q:XMABORT
  1. W:$D(XMMSG) !,XMMSG
  1. Q
  1. XMTPRI(XMDUZ,XMKALL,XMK) ; Toggle transmit priority
  1. ; XMDUZ better be .5 and XMK better be > 1000!
  1. N XMTPRI,XMWHICH,XMMSG,XMABORT
  1. S XMABORT=0
  1. I $D(^TMP("XM",$J,".")) D
  1. . D ASKPRI(.XMTPRI,.XMABORT) Q:XMABORT
  1. . D SELMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,"XXP^XMXMSGS1",34334,34335,.XMMSG,.XMABORT)
  1. E D
  1. . D WHICH^XMJMORX1(34333,34335.1,.XMWHICH,.XMABORT) Q:XMABORT
  1. . D ASKPRI(.XMTPRI,.XMABORT) Q:XMABORT
  1. . D ACTMSG^XMJMORX1(XMDUZ,1,XMKALL,XMK,XMWHICH,"XXP^XMXMSGS1",34334,.XMMSGT)
  1. Q:XMABORT
  1. W:$D(XMMSG) !,XMMSG
  1. Q
  1. ASKPRI(XMTPRI,XMABORT) ;
  1. N XMTXT,XMOPT,XMOX,XMDIR
  1. D SET^XMXSEC1("H",34332.3,.XMOPT,.XMOX) ; H:High
  1. D SET^XMXSEC1("L",34332.1,.XMOPT,.XMOX) ; L:Low
  1. D SET^XMXSEC1("N",34332.2,.XMOPT,.XMOX) ; N:Normal
  1. S XMDIR("A")=$$EZBLD^DIALOG(34332) ; Select transmit priority:
  1. I $G(XMTPRI)'="" D
  1. . S XMTXT=XMOPT(XMTPRI)
  1. . S XMDIR("B")=XMOX("O",XMTPRI)_":"_XMTXT
  1. S XMDIR("??")="XM-U-B-XMIT PRIORITY TOGGLE"
  1. D XMDIR^XMJDIR(.XMDIR,.XMOPT,.XMOX,.XMTPRI,.XMABORT) Q:XMABORT
  1. S XMTPRI=$S(XMTPRI="N":0,XMTPRI="H":1,1:2)
  1. Q