| 1 | XMUT41 ;(ISC-SF/GMB- XMUT4 (Cont.) ;04/17/2002  11:52
 | 
|---|
| 2 |  ;;8.0;MailMan;;Jun 28, 2002
 | 
|---|
| 3 | WARNING(XMABORT) ;
 | 
|---|
| 4 |  N DIR,X,Y,XMTEXT
 | 
|---|
| 5 |  W !
 | 
|---|
| 6 |  D BLD^DIALOG(36084,"","","XMTEXT","F")
 | 
|---|
| 7 |  D MSG^DIALOG("WM","","","","XMTEXT")
 | 
|---|
| 8 |  W !
 | 
|---|
| 9 |  ;The MailMan file checker may take some time to process.
 | 
|---|
| 10 |  ;If you have not tried it before, PLEASE try it when the
 | 
|---|
| 11 |  ;system will be quiescent for a LONG period of time.
 | 
|---|
| 12 |  ;Errors listed are generally not fatal.  Most errors are
 | 
|---|
| 13 |  ;corrected.  Please enter a NOIS if there are many errors.
 | 
|---|
| 14 |  ;Keep the error printout for future reference.  If you see
 | 
|---|
| 15 |  ;errors in MailMan, the printout may help to resolve them.
 | 
|---|
| 16 |  S DIR(0)="Y",DIR("A")=$$EZBLD^DIALOG(36085) ; Do you wish to proceed
 | 
|---|
| 17 |  S DIR("B")=$$EZBLD^DIALOG(39053) ; "NO"
 | 
|---|
| 18 |  D ^DIR
 | 
|---|
| 19 |  I $D(DIRUT)!'Y S XMABORT=1
 | 
|---|
| 20 |  Q
 | 
|---|
| 21 | MXREF(XMABORT) ;
 | 
|---|
| 22 |  ; XMECNT   # msgs in mailbox
 | 
|---|
| 23 |  N XMZ,XMUSER,XMECNT,XMK
 | 
|---|
| 24 |  W:'$D(ZTQUEUED) !!,$$EZBLD^DIALOG(36086),! ; Checking M xref
 | 
|---|
| 25 |  S (XMZ,XMECNT)=0
 | 
|---|
| 26 |  F  S XMZ=$O(^XMB(3.7,"M",XMZ)) Q:'XMZ  D  Q:XMABORT
 | 
|---|
| 27 |  . S XMECNT=XMECNT+1 I XMECNT#5000=0 D  Q:XMABORT
 | 
|---|
| 28 |  . . I '$D(ZTQUEUED) W:$X>40 ! W XMECNT,"." Q
 | 
|---|
| 29 |  . . I $$S^%ZTLOAD S (XMABORT,ZTSTOP)=1 ; User asked the task to stop
 | 
|---|
| 30 |  . S XMUSER=""
 | 
|---|
| 31 |  . F  S XMUSER=$O(^XMB(3.7,"M",XMZ,XMUSER)) Q:'XMUSER  D
 | 
|---|
| 32 |  . . S XMK=""
 | 
|---|
| 33 |  . . F  S XMK=$O(^XMB(3.7,"M",XMZ,XMUSER,XMK)) Q:'XMK  D
 | 
|---|
| 34 |  . . . Q:$D(^XMB(3.7,XMUSER,2,XMK,1,XMZ,0))
 | 
|---|
| 35 |  . . . K ^XMB(3.7,"M",XMZ,XMUSER,XMK)
 | 
|---|
| 36 |  . . . D ERR^XMUT4(121,XMUSER,XMK,XMZ) ; M xref, but msg not in bskt: xref killed
 | 
|---|
| 37 |  Q:XMABORT!$D(ZTQUEUED)
 | 
|---|
| 38 |  W !
 | 
|---|
| 39 |  D BLD^DIALOG(36092,XMECNT,"","XMTEXT","F")
 | 
|---|
| 40 |  D MSG^DIALOG("WM","",IOM,"","XMTEXT")
 | 
|---|
| 41 |  ;|1| unique messages referenced in MAILBOX file 3.7
 | 
|---|
| 42 |  Q
 | 
|---|
| 43 | POSTBSKT ; Check the Postmaster's bskts to see if any remote bskts
 | 
|---|
| 44 |  ; are numbered below 1000.  If so, move them.
 | 
|---|
| 45 |  N XMK,XMKN,XMKINST,XMZ,XMINST,XMPUT
 | 
|---|
| 46 |  S XMK=1
 | 
|---|
| 47 |  F  S XMK=$O(^XMB(3.7,.5,2,XMK)) Q:XMK>999!'XMK  S XMKN=$P(^(XMK,0),U,1)  D
 | 
|---|
| 48 |  . S XMINST=$$FIND1^DIC(4.2,"","XQ",XMKN)
 | 
|---|
| 49 |  . Q:'XMINST
 | 
|---|
| 50 |  . D ERR^XMUT4(160,.5,XMK) ; Xmit basket<1000 has domain name: investigate msgs.
 | 
|---|
| 51 |  . ; This bskt has a remote site name.  Does it have msgs to xmit?
 | 
|---|
| 52 |  . S XMKINST=XMINST+1000
 | 
|---|
| 53 |  . I '$D(^XMB(3.7,.5,2,XMKINST)) D MAKEBSKT^XMXBSKT(.5,XMKINST,XMKN)
 | 
|---|
| 54 |  . S (XMZ,XMPUT)=0
 | 
|---|
| 55 |  . F  S XMZ=$O(^XMB(3.7,.5,2,XMK,1,XMZ)) Q:'XMZ  D
 | 
|---|
| 56 |  . . I '$D(^XMB(3.9,XMZ,1,"AQUEUE",XMINST)) D  Q
 | 
|---|
| 57 |  . . . ; This msg does not need to be transmitted.  Does it belong here?
 | 
|---|
| 58 |  . . . Q:$D(^XMB(3.9,XMZ,1,"C",.5))!$$BCAST^XMXSEC(XMZ)
 | 
|---|
| 59 |  . . . D ERR^XMUT4(161,.5,XMK,XMZ) ; Msg in xmit basket<1000 not addressed to Postmaster: deleted.
 | 
|---|
| 60 |  . . . D ZAPIT^XMXMSGS2(.5,XMK,XMZ)
 | 
|---|
| 61 |  . . ; This msg needs to be transmitted.  Is it in the real xmit bskt?
 | 
|---|
| 62 |  . . Q:$D(^XMB(3.7,.5,2,XMKINST,1,XMZ))  ; already there
 | 
|---|
| 63 |  . . S XMPUT=XMPUT+1
 | 
|---|
| 64 |  . . I $D(^XMB(3.9,XMZ,1,"C",.5))!$$BCAST^XMXSEC(XMZ) D  Q
 | 
|---|
| 65 |  . . . D ERR^XMUT4(162,.5,XMK,XMZ) ; Msg in xmit basket<1000: copied to proper bskt.
 | 
|---|
| 66 |  . . . D PUTMSG^XMXMSGS2(.5,XMKINST,XMKN,XMZ)
 | 
|---|
| 67 |  . . D ERR^XMUT4(163,.5,XMK,XMZ) ; Msg in xmit basket<1000: moved to proper bskt.
 | 
|---|
| 68 |  . . D COPYIT^XMXMSGS2(.5,XMK,XMZ,XMKINST)
 | 
|---|
| 69 |  . . D ZAPIT^XMXMSGS2(.5,XMK,XMZ)
 | 
|---|
| 70 |  . Q:$$BMSGCT^XMXUTIL(.5,XMK)
 | 
|---|
| 71 |  . N XMFDA
 | 
|---|
| 72 |  . S XMFDA(3.701,XMK_",.5,",.01)="@"
 | 
|---|
| 73 |  . D FILE^DIE("","XMFDA")
 | 
|---|
| 74 |  . D ERR^XMUT4(164,.5,XMK) ; Xmit basket<1000 with no msgs: deleted.
 | 
|---|
| 75 |  Q
 | 
|---|
| 76 | SUMMARY(XMABORT) ;
 | 
|---|
| 77 |  I $G(ZTSTOP) W !!,$$EZBLD^DIALOG(36422) ; *** Stopping prematurely per user request ***
 | 
|---|
| 78 |  W !!,$$EZBLD^DIALOG(36087)   ; Summary of Integrity Check:
 | 
|---|
| 79 |  D SUM(36089,36000.1,99,199)  ; Results for MAILBOX file 3.7:
 | 
|---|
| 80 |  D SUM(36091,36300.1,199,299) ; Results for MESSAGE file 3.9:
 | 
|---|
| 81 |  K XMERROR
 | 
|---|
| 82 |  Q
 | 
|---|
| 83 | SUM(XMTITLE,XMBASE,XMSTART,XMLIMIT) ;
 | 
|---|
| 84 |  N XMERRNUM,XMPARM,XMTEXT
 | 
|---|
| 85 |  W !!,$$EZBLD^DIALOG(XMTITLE) ; Results for xxx file xxx:
 | 
|---|
| 86 |  S XMERRNUM=XMSTART
 | 
|---|
| 87 |  F  S XMERRNUM=$O(XMERROR(XMERRNUM)) Q:'XMERRNUM!(XMERRNUM>XMLIMIT)  D
 | 
|---|
| 88 |  . S XMPARM(1)=$J(XMERRNUM,3),XMPARM(2)=XMERROR(XMERRNUM)
 | 
|---|
| 89 |  . W !!,$$EZBLD^DIALOG(36090,.XMPARM) ; Type |1| errors=|2|
 | 
|---|
| 90 |  . D BLD^DIALOG(XMBASE+XMERRNUM,"","","XMTEXT","F")
 | 
|---|
| 91 |  . D MSG^DIALOG("WE","",IOM,"","XMTEXT")
 | 
|---|
| 92 |  I '$D(XMPARM) W !,$$EZBLD^DIALOG(36088) ; No errors to report.
 | 
|---|
| 93 |  Q
 | 
|---|