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
|
---|