| 1 | XMUT2 ;(WASH ISC)/CAP-Large Msg Report ;12/04/2002  13:49
 | 
|---|
| 2 |  ;;8.0;MailMan;**10**;Jun 28, 2002
 | 
|---|
| 3 |  ; Entry points used by MailMan options (not covered by DBIA):
 | 
|---|
| 4 |  ; ENTER    XMMGR-LARGE-MESSAGE-REPORT
 | 
|---|
| 5 | ENTER ;
 | 
|---|
| 6 |  N XMABORT,XML,XMD,I,XMSAVE
 | 
|---|
| 7 |  S XMABORT=0
 | 
|---|
| 8 |  D INIT(.XML,.XMD,.XMABORT) Q:XMABORT
 | 
|---|
| 9 |  I $D(ZTQUEUED) D PROCESS(XML,XMD) Q
 | 
|---|
| 10 |  F I="XML","XMD" S XMSAVE(I)=""
 | 
|---|
| 11 |  D EN^XUTMDEVQ("PROC^XMUT2",$$EZBLD^DIALOG(36200),.XMSAVE) ; MailMan: Large Message Report
 | 
|---|
| 12 |  Q
 | 
|---|
| 13 | INIT(XML,XMD,XMABORT) ;
 | 
|---|
| 14 |  S XML=$G(^XMB(1,1,"XMUT2-LINES")) I 'XML S XML=100
 | 
|---|
| 15 |  S XMD=$O(^XMB(3.9,"C",""))
 | 
|---|
| 16 |  Q:$D(ZTQUEUED)
 | 
|---|
| 17 |  W !,$$EZBLD^DIALOG(36201),! ; This report lists messages longer than a certain number of lines.
 | 
|---|
| 18 |  D MINLINES(.XML,.XMABORT) Q:XMABORT
 | 
|---|
| 19 |  D STARTDT(.XMD,.XMABORT) Q:XMABORT
 | 
|---|
| 20 |  Q
 | 
|---|
| 21 | MINLINES(XML,XMABORT) ;
 | 
|---|
| 22 |  N DIR,X,Y,DA
 | 
|---|
| 23 |  ;Report on messages longer than this many lines
 | 
|---|
| 24 |  D BLD^DIALOG(36203,"","","DIR(""A"")")
 | 
|---|
| 25 |  S DIR(0)="4.3,8.14",DA=1
 | 
|---|
| 26 |  D ^DIR I $D(DIRUT) S XMABORT=1 Q
 | 
|---|
| 27 |  Q:Y=XML
 | 
|---|
| 28 |  S XML=Y
 | 
|---|
| 29 |  K DIR,X,Y,DA
 | 
|---|
| 30 |  ;Make this the default for future reports
 | 
|---|
| 31 |  D BLD^DIALOG(36204,"","","DIR(""A"")")
 | 
|---|
| 32 |  S DIR("B")=$$EZBLD^DIALOG(39054) ; Yes
 | 
|---|
| 33 |  S DIR(0)="Y"
 | 
|---|
| 34 |  D ^DIR I $D(DIRUT) S XMABORT=1 Q
 | 
|---|
| 35 |  Q:'Y
 | 
|---|
| 36 |  S $P(^XMB(1,1,"XMUT2-LINES"),U)=XML
 | 
|---|
| 37 |  Q
 | 
|---|
| 38 | STARTDT(XMD,XMABORT) ;
 | 
|---|
| 39 |  N DIR,X
 | 
|---|
| 40 |  ;The default starting date is the date of the oldest message.
 | 
|---|
| 41 |  ;Enter the start date
 | 
|---|
| 42 |  W !
 | 
|---|
| 43 |  D BLD^DIALOG(36202,"","","DIR(""A"")")
 | 
|---|
| 44 |  S DIR("B")=$$FMTE^XLFDT(XMD,5)
 | 
|---|
| 45 |  S DIR(0)="D^"_XMD_":"_DT_";EP"
 | 
|---|
| 46 |  D ^DIR I $D(DIRUT) S XMABORT=1
 | 
|---|
| 47 |  S XMD=Y
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 | PROCESS(XML,XMD) ;
 | 
|---|
| 50 | PROC ;
 | 
|---|
| 51 |  N XMABORT,XMPAGE,XMCNT,XMDATE,XMREC,XMLINES,XMLEN,XMZ,XMLEFT
 | 
|---|
| 52 |  S XMLEN("XMZ")=$$MAX^XLFMTH($L($O(^XMB(3.9,"A"),-1)),$L($$EZBLD^DIALOG(34633))) ;Msg ID
 | 
|---|
| 53 |  S XMLEN("LINE")=$$MAX^XLFMTH(7,$L($$EZBLD^DIALOG(34003.1))+1) ;Lines
 | 
|---|
| 54 |  S XMLEN("RCPT")=$$MAX^XLFMTH(6,$L($$EZBLD^DIALOG(36207))+1) ;Rcpts
 | 
|---|
| 55 |  S XMLEFT=75-XMLEN("XMZ")-XMLEN("LINE")-XMLEN("RCPT")
 | 
|---|
| 56 |  S XMLEN("FROM")=XMLEFT\2
 | 
|---|
| 57 |  S XMLEN("SUBJ")=XMLEFT-XMLEN("FROM")
 | 
|---|
| 58 |  S (XMABORT,XMCNT,XMPAGE)=0
 | 
|---|
| 59 |  S XMDATE=$$FMTE^XLFDT(DT,5)
 | 
|---|
| 60 |  W:$E(IOST,1,2)="C-" @IOF
 | 
|---|
| 61 |  D HDR
 | 
|---|
| 62 |  S XMD=XMD-.1
 | 
|---|
| 63 |  S XMZ=""
 | 
|---|
| 64 |  F  S XMD=$O(^XMB(3.9,"C",XMD)) Q:XMD=""  D  Q:XMABORT
 | 
|---|
| 65 |  . F  S XMZ=$O(^XMB(3.9,"C",XMD,XMZ)) Q:XMZ=""  D  Q:XMABORT
 | 
|---|
| 66 |  . . S XMCNT=XMCNT+1
 | 
|---|
| 67 |  . . S XMLINES=+$P($G(^XMB(3.9,XMZ,2,0)),U,4)
 | 
|---|
| 68 |  . . I $E(IOST,1,2)="C-",XMCNT#1000=0 W:$X>50 ! W "."
 | 
|---|
| 69 |  . . Q:XMLINES'>XML
 | 
|---|
| 70 |  . . S XMREC=$G(^XMB(3.9,XMZ,0))
 | 
|---|
| 71 |  . . Q:$P(XMREC,U)?1"R"1N.N
 | 
|---|
| 72 |  . . S XMRECIPS=+$P($G(^XMB(3.9,XMZ,1,0)),U,4)
 | 
|---|
| 73 |  . . I $Y+3>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 74 |  . . W !,$J(XMZ,XMLEN("XMZ")),$J(XMLINES,XMLEN("LINE")),$J(XMRECIPS,XMLEN("RCPT")),"  "
 | 
|---|
| 75 |  . . 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"))
 | 
|---|
| 76 |  Q:XMABORT
 | 
|---|
| 77 |  I $E(IOST,1,2)="C-" D WAIT^XMXUTIL
 | 
|---|
| 78 |  I $D(ZTQUEUED) S ZTREQ="@"
 | 
|---|
| 79 |  Q
 | 
|---|
| 80 | PAGE(XMABORT) ;
 | 
|---|
| 81 |  I $E(IOST,1,2)="C-" D PAGE^XMXUTIL(.XMABORT) Q:XMABORT
 | 
|---|
| 82 |  W @IOF
 | 
|---|
| 83 |  D HDR
 | 
|---|
| 84 |  Q
 | 
|---|
| 85 | HDR ;
 | 
|---|
| 86 |  S XMPAGE=XMPAGE+1
 | 
|---|
| 87 |  ;Messages with more than _XML_ lines,?50,Report date: _XMDATE_  _Page
 | 
|---|
| 88 |  W $$EZBLD^DIALOG(36205,XML),?50,$$EZBLD^DIALOG(36206,XMDATE),"  ",$$EZBLD^DIALOG(34542,XMPAGE)
 | 
|---|
| 89 |  ; Msg ID / Lines / Rcpts / From / Subject
 | 
|---|
| 90 |  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),!
 | 
|---|
| 91 |  Q
 | 
|---|
| 92 | ENT ;
 | 
|---|
| 93 |  N XML,XMD
 | 
|---|
| 94 |  S XML=1000,XMD=0
 | 
|---|
| 95 |  F I="XML","XMD" S XMSAVE(I)=""
 | 
|---|
| 96 |  D EN^XUTMDEVQ("PROC^XMUT2",$$EZBLD^DIALOG(36200),.XMSAVE) ; MailMan: Large Message Report
 | 
|---|
| 97 |  Q
 | 
|---|