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

XMUT2.m

Go to the documentation of this file.
  1. XMUT2 ;(WASH ISC)/CAP-Large Msg Report ;12/04/2002 13:49
  1. ;;8.0;MailMan;**10**;Jun 28, 2002
  1. ; Entry points used by MailMan options (not covered by DBIA):
  1. ; ENTER XMMGR-LARGE-MESSAGE-REPORT
  1. ENTER ;
  1. N XMABORT,XML,XMD,I,XMSAVE
  1. S XMABORT=0
  1. D INIT(.XML,.XMD,.XMABORT) Q:XMABORT
  1. I $D(ZTQUEUED) D PROCESS(XML,XMD) Q
  1. F I="XML","XMD" S XMSAVE(I)=""
  1. D EN^XUTMDEVQ("PROC^XMUT2",$$EZBLD^DIALOG(36200),.XMSAVE) ; MailMan: Large Message Report
  1. Q
  1. INIT(XML,XMD,XMABORT) ;
  1. S XML=$G(^XMB(1,1,"XMUT2-LINES")) I 'XML S XML=100
  1. S XMD=$O(^XMB(3.9,"C",""))
  1. Q:$D(ZTQUEUED)
  1. W !,$$EZBLD^DIALOG(36201),! ; This report lists messages longer than a certain number of lines.
  1. D MINLINES(.XML,.XMABORT) Q:XMABORT
  1. D STARTDT(.XMD,.XMABORT) Q:XMABORT
  1. Q
  1. MINLINES(XML,XMABORT) ;
  1. N DIR,X,Y,DA
  1. ;Report on messages longer than this many lines
  1. D BLD^DIALOG(36203,"","","DIR(""A"")")
  1. S DIR(0)="4.3,8.14",DA=1
  1. D ^DIR I $D(DIRUT) S XMABORT=1 Q
  1. Q:Y=XML
  1. S XML=Y
  1. K DIR,X,Y,DA
  1. ;Make this the default for future reports
  1. D BLD^DIALOG(36204,"","","DIR(""A"")")
  1. S DIR("B")=$$EZBLD^DIALOG(39054) ; Yes
  1. S DIR(0)="Y"
  1. D ^DIR I $D(DIRUT) S XMABORT=1 Q
  1. Q:'Y
  1. S $P(^XMB(1,1,"XMUT2-LINES"),U)=XML
  1. Q
  1. STARTDT(XMD,XMABORT) ;
  1. N DIR,X
  1. ;The default starting date is the date of the oldest message.
  1. ;Enter the start date
  1. W !
  1. D BLD^DIALOG(36202,"","","DIR(""A"")")
  1. S DIR("B")=$$FMTE^XLFDT(XMD,5)
  1. S DIR(0)="D^"_XMD_":"_DT_";EP"
  1. D ^DIR I $D(DIRUT) S XMABORT=1
  1. S XMD=Y
  1. Q
  1. PROCESS(XML,XMD) ;
  1. PROC ;
  1. N XMABORT,XMPAGE,XMCNT,XMDATE,XMREC,XMLINES,XMLEN,XMZ,XMLEFT
  1. S XMLEN("XMZ")=$$MAX^XLFMTH($L($O(^XMB(3.9,"A"),-1)),$L($$EZBLD^DIALOG(34633))) ;Msg ID
  1. S XMLEN("LINE")=$$MAX^XLFMTH(7,$L($$EZBLD^DIALOG(34003.1))+1) ;Lines
  1. S XMLEN("RCPT")=$$MAX^XLFMTH(6,$L($$EZBLD^DIALOG(36207))+1) ;Rcpts
  1. S XMLEFT=75-XMLEN("XMZ")-XMLEN("LINE")-XMLEN("RCPT")
  1. S XMLEN("FROM")=XMLEFT\2
  1. S XMLEN("SUBJ")=XMLEFT-XMLEN("FROM")
  1. S (XMABORT,XMCNT,XMPAGE)=0
  1. S XMDATE=$$FMTE^XLFDT(DT,5)
  1. W:$E(IOST,1,2)="C-" @IOF
  1. D HDR
  1. S XMD=XMD-.1
  1. S XMZ=""
  1. F S XMD=$O(^XMB(3.9,"C",XMD)) Q:XMD="" D Q:XMABORT
  1. . F S XMZ=$O(^XMB(3.9,"C",XMD,XMZ)) Q:XMZ="" D Q:XMABORT
  1. . . S XMCNT=XMCNT+1
  1. . . S XMLINES=+$P($G(^XMB(3.9,XMZ,2,0)),U,4)
  1. . . I $E(IOST,1,2)="C-",XMCNT#1000=0 W:$X>50 ! W "."
  1. . . Q:XMLINES'>XML
  1. . . S XMREC=$G(^XMB(3.9,XMZ,0))
  1. . . Q:$P(XMREC,U)?1"R"1N.N
  1. . . S XMRECIPS=+$P($G(^XMB(3.9,XMZ,1,0)),U,4)
  1. . . I $Y+3>IOSL D PAGE(.XMABORT) Q:XMABORT
  1. . . W !,$J(XMZ,XMLEN("XMZ")),$J(XMLINES,XMLEN("LINE")),$J(XMRECIPS,XMLEN("RCPT"))," "
  1. . . W $$LJ^XLFSTR($E($$NAME^XMXUTIL($P(XMREC,U,2)),1,XMLEN("FROM")),XMLEN("FROM"))," ",$$LJ^XLFSTR($E($$SUBJ^XMXUTIL2(XMREC),1,XMLEN("SUBJ")),XMLEN("SUBJ"))
  1. Q:XMABORT
  1. I $E(IOST,1,2)="C-" D WAIT^XMXUTIL
  1. I $D(ZTQUEUED) S ZTREQ="@"
  1. Q
  1. PAGE(XMABORT) ;
  1. I $E(IOST,1,2)="C-" D PAGE^XMXUTIL(.XMABORT) Q:XMABORT
  1. W @IOF
  1. D HDR
  1. Q
  1. HDR ;
  1. S XMPAGE=XMPAGE+1
  1. ;Messages with more than _XML_ lines,?50,Report date: _XMDATE_ _Page
  1. W $$EZBLD^DIALOG(36205,XML),?50,$$EZBLD^DIALOG(36206,XMDATE)," ",$$EZBLD^DIALOG(34542,XMPAGE)
  1. ; Msg ID / Lines / Rcpts / From / Subject
  1. W !!,$J($$EZBLD^DIALOG(34633),XMLEN("XMZ")),$J($$EZBLD^DIALOG(34003.1),XMLEN("LINE")),$J($$EZBLD^DIALOG(36207),XMLEN("RCPT"))," ",$$LJ^XLFSTR($$EZBLD^DIALOG(34006),XMLEN("FROM"))," ",$$EZBLD^DIALOG(34002),!
  1. Q
  1. ENT ;
  1. N XML,XMD
  1. S XML=1000,XMD=0
  1. F I="XML","XMD" S XMSAVE(I)=""
  1. D EN^XUTMDEVQ("PROC^XMUT2",$$EZBLD^DIALOG(36200),.XMSAVE) ; MailMan: Large Message Report
  1. Q