| 1 | XMCQH ;ISC-SF/GMB-Transmit Queue History ;01/08/2003  13:52 | 
|---|
| 2 | ;;8.0;MailMan;**8,14**;Jun 28, 2002 | 
|---|
| 3 | ; Was (WASH ISC)/CAP/AML/RJ | 
|---|
| 4 | ; | 
|---|
| 5 | ; Entry points used by MailMan options (not covered by DBIA): | 
|---|
| 6 | ; ENTER   XMQHIST     (was ^XMS4) | 
|---|
| 7 | ENTER ; | 
|---|
| 8 | N XMPARM,XMABORT | 
|---|
| 9 | S XMABORT=0 | 
|---|
| 10 | D INIT(.XMPARM,.XMABORT) Q:XMABORT | 
|---|
| 11 | S ZTSAVE("XMPARM(")="" | 
|---|
| 12 | D EN^XUTMDEVQ("ENT^XMCQH",$$EZBLD^DIALOG(42100),.ZTSAVE) ; MailMan: Transmission Queue History Report | 
|---|
| 13 | Q | 
|---|
| 14 | INIT(XMPARM,XMABORT) ; Get period to report on.  Default is current month. | 
|---|
| 15 | S (XMPARM("START"),XMPARM("END"))=$E(DT,1,5) | 
|---|
| 16 | Q:$D(ZTQUEUED) | 
|---|
| 17 | D START(.XMPARM,.XMABORT) Q:XMABORT | 
|---|
| 18 | D END(.XMPARM,.XMABORT) | 
|---|
| 19 | Q | 
|---|
| 20 | START(XMPARM,XMABORT) ; Start of report period | 
|---|
| 21 | N DIR,Y,X | 
|---|
| 22 | S DIR(0)="DO^:DT:E" | 
|---|
| 23 | S DIR("A")=$$EZBLD^DIALOG(42107) ; Start of report period | 
|---|
| 24 | D BLD^DIALOG(42107.1,"","","DIR(""?"")") | 
|---|
| 25 | ;Enter a month and year or just a year.  Any day will be ignored. | 
|---|
| 26 | ;This is the start of the period you want reported.  The report will | 
|---|
| 27 | ;start on the first day of the period you enter. | 
|---|
| 28 | S DIR("B")=$$FMTE^XLFDT(XMPARM("START")_"00") | 
|---|
| 29 | D ^DIR I $D(DUOUT)!$D(DTOUT) S XMABORT=1 Q | 
|---|
| 30 | S XMPARM("START")=$E(Y,1,5) | 
|---|
| 31 | Q | 
|---|
| 32 | END(XMPARM,XMABORT) ; End of report period | 
|---|
| 33 | S XMPARM("END")=XMPARM("START") | 
|---|
| 34 | Q:$E(XMPARM("START"),1,5)=$E(DT,1,5)  ; This month | 
|---|
| 35 | Q:XMPARM("START")=($E(DT,1,3)_"00")  ; This year | 
|---|
| 36 | N DIR,Y,X,XMDT | 
|---|
| 37 | S XMDT=XMPARM("START") | 
|---|
| 38 | S:$E(XMDT,4,5)="00" XMDT=$E(XMDT,1,3)_"01" | 
|---|
| 39 | S DIR(0)="DO^"_XMDT_"01:DT:E" | 
|---|
| 40 | S DIR("A")=$$EZBLD^DIALOG(42108) ; End of report period | 
|---|
| 41 | D BLD^DIALOG(42108.1,"","","DIR(""?"")") | 
|---|
| 42 | ;Enter a month and year or just a year.  Press enter to accept the default. | 
|---|
| 43 | ;This is the end of the period you want reported.  The report will go | 
|---|
| 44 | ;through the last day of the period you enter. | 
|---|
| 45 | I $E(XMPARM("END"),4,5)="00" S XMPARM("END")=$E(XMPARM("END"),1,3)_"1200" | 
|---|
| 46 | E  S XMPARM("END")=$$SCH^XLFDT("1M(L)",XMPARM("END")_"01") | 
|---|
| 47 | S DIR("B")=$$FMTE^XLFDT(XMPARM("END")) | 
|---|
| 48 | D ^DIR I $D(DUOUT)!$D(DTOUT) S XMABORT=1 Q | 
|---|
| 49 | S XMPARM("END")=$E(Y,1,5) | 
|---|
| 50 | Q | 
|---|
| 51 | ENT ; | 
|---|
| 52 | N XMNAME,XMRPT,XMIEN,XMREC,XMABORT,XMQD,XMCNT,XMTITLE,XMMON,XMSENT,XMRCVD | 
|---|
| 53 | ;Transmission Queue History | 
|---|
| 54 | ;Domain          Queued    Sent    Rcvd   Domain          Queued    Sent    Rcvd | 
|---|
| 55 | I $E(XMPARM("END"),4,5)'="00",$E(XMPARM("START"),4,5)="00" D | 
|---|
| 56 | . I $E(XMPARM("END"),4,5)=12 S XMPARM("END")=XMPARM("START") Q | 
|---|
| 57 | . S $E(XMPARM("START"),4,5)="01" | 
|---|
| 58 | I $E(XMPARM("END"),4,5)="00",$E(XMPARM("START"),4,5)'="00" D | 
|---|
| 59 | . I $E(XMPARM("END"),1,3)=$E(DT,1,3) S XMPARM("END")=$E(DT,1,5) Q | 
|---|
| 60 | . S $E(XMPARM("END"),4,5)=12 | 
|---|
| 61 | I XMPARM("START")=XMPARM("END") D | 
|---|
| 62 | . S XMTITLE=$$EZBLD^DIALOG(42101,$$FMTE^XLFDT(XMPARM("START")_"00")) ;Transmission Queue History, |1| | 
|---|
| 63 | E  D | 
|---|
| 64 | . N XMP S XMP(1)=$$FMTE^XLFDT(XMPARM("START")_"00"),XMP(2)=$$FMTE^XLFDT(XMPARM("END")_"00") | 
|---|
| 65 | . S XMTITLE=$$EZBLD^DIALOG(42101.1,.XMP) ;Transmission Queue History, |1| - |2| | 
|---|
| 66 | D INIT^XMCQA(.XMRPT,XMTITLE,42102) | 
|---|
| 67 | I $E(XMPARM("END"),4,5)="00" S XMPARM("END")=$E(XMPARM("END"),1,3)_"12" | 
|---|
| 68 | S XMNAME="",(XMCNT,XMABORT,XMCNT("SENT"),XMCNT("RCVD"),XMCNT("QD"))=0 | 
|---|
| 69 | F  S XMNAME=$O(^DIC(4.2,"B",XMNAME)) Q:XMNAME=""  D  Q:XMABORT | 
|---|
| 70 | . S XMIEN="" | 
|---|
| 71 | . F  S XMIEN=$O(^DIC(4.2,"B",XMNAME,XMIEN)) Q:'XMIEN  D  Q:XMABORT | 
|---|
| 72 | . . S (XMSENT,XMRCVD)=0 | 
|---|
| 73 | . . S XMMON=XMPARM("START")-.01 | 
|---|
| 74 | . . F  S XMMON=$O(^XMBS(4.2999,XMIEN,100,XMMON)) Q:XMMON>XMPARM("END")!'XMMON  D | 
|---|
| 75 | . . . S XMREC=$G(^XMBS(4.2999,XMIEN,100,XMMON,0)) | 
|---|
| 76 | . . . S XMSENT=XMSENT+$P(XMREC,U,2),XMRCVD=XMRCVD+$P(XMREC,U,3) | 
|---|
| 77 | . . S XMQD=$$BMSGCT^XMXUTIL(.5,XMIEN+1000) | 
|---|
| 78 | . . I 'XMQD,'XMSENT,'XMRCVD Q | 
|---|
| 79 | . . S XMCNT("SENT")=XMCNT("SENT")+XMSENT | 
|---|
| 80 | . . S XMCNT("RCVD")=XMCNT("RCVD")+XMRCVD | 
|---|
| 81 | . . S XMCNT("QD")=XMCNT("QD")+XMQD | 
|---|
| 82 | . . S XMCNT=XMCNT+1 | 
|---|
| 83 | . . I XMCNT#2 D  Q:XMABORT | 
|---|
| 84 | . . . I $Y+3>IOSL D  Q:XMABORT | 
|---|
| 85 | . . . . D PAGE^XMCQA(.XMABORT) Q:XMABORT | 
|---|
| 86 | . . . . D HDR^XMCQA(.XMRPT) | 
|---|
| 87 | . . . W ! | 
|---|
| 88 | . . E  W "   " | 
|---|
| 89 | . . W $$MELD^XMXUTIL1(XMNAME,XMQD,22),$J(XMSENT,8),$J(XMRCVD,8) | 
|---|
| 90 | Q:XMABORT | 
|---|
| 91 | I $Y+7>IOSL D  Q:XMABORT | 
|---|
| 92 | . D PAGE^XMCQA(.XMABORT) | 
|---|
| 93 | . D HDR^XMCQA(.XMRPT) | 
|---|
| 94 | W !!,$$MELD^XMXUTIL1($$EZBLD^DIALOG(42103),XMCNT,27) ; Total Domains: | 
|---|
| 95 | W !,$$MELD^XMXUTIL1($$EZBLD^DIALOG(42104),XMCNT("QD"),27) ; Total Queued: | 
|---|
| 96 | W !,$$MELD^XMXUTIL1($$EZBLD^DIALOG(42105),XMCNT("SENT"),27) ; Total Sent: | 
|---|
| 97 | W !,$$MELD^XMXUTIL1($$EZBLD^DIALOG(42106),XMCNT("RCVD"),27) ; Total Received: | 
|---|
| 98 | I $D(ZTQUEUED) S ZTREQ="@" | 
|---|
| 99 | Q | 
|---|