[613] | 1 | DG53618M ;ALB/GN/PHH - DG*5.3*618 CLEANUP UTILITES ;03/22/2005 10:39 AM
|
---|
| 2 | ;;5.3;Registration;**618**;Aug 13, 1993
|
---|
| 3 | ;
|
---|
| 4 | ; Misc cleanup utilities
|
---|
| 5 | ;
|
---|
| 6 | MAIL(TESTING) ; mail stats
|
---|
| 7 | N ACT,LACT,DFN,BTIME,HTEXT,TEXT,NAMSPC,LIN,MSGNO,DGDEL21,DGDEL12,DGTOT
|
---|
| 8 | N LSSN,R40831,STS,STSNAM,STAT,MTIEN,STIME
|
---|
| 9 | N TYPE,TYPNAM,DGDEL22,DGBADPAT,DGBADPER
|
---|
| 10 | N DGBAD03,X
|
---|
| 11 | S MSGNO=1
|
---|
| 12 | S NAMSPC=$$NAMSPC^DG53618,X=$G(^XTMP(NAMSPC,0,0))
|
---|
| 13 | S DGTOT=$P(X,U,2)
|
---|
| 14 | S DGDEL12=$P(X,U,3)
|
---|
| 15 | S BTIME=$P(X,U,4)
|
---|
| 16 | S STAT=$P(X,U,5)
|
---|
| 17 | S STIME=$P(X,U,6)
|
---|
| 18 | S DGDEL21=$P(X,U,7)
|
---|
| 19 | S DGDEL22=$P(X,U,8)
|
---|
| 20 | S DGBADPAT=$P(X,U,9)
|
---|
| 21 | S DGBADPER=$P(X,U,10)
|
---|
| 22 | S DGBAD03=$P(X,U,11)
|
---|
| 23 | ;
|
---|
| 24 | D HDNG(.HTEXT,.MSGNO,.LIN,"S",STAT,STIME,DGDEL12,TESTING)
|
---|
| 25 | D SUMRY(.LIN)
|
---|
| 26 | D MAILIT(HTEXT)
|
---|
| 27 | ;
|
---|
| 28 | D SNDDET
|
---|
| 29 | Q 1
|
---|
| 30 | ;
|
---|
| 31 | ;build heading lines for mail message
|
---|
| 32 | HDNG(HTEXT,MSGNO,LIN,DOS,STAT,STIME,DGDEL12,TESTING) ;
|
---|
| 33 | K ^TMP(NAMSPC,$J,"MSG")
|
---|
| 34 | S LIN=0
|
---|
| 35 | S HTEXT="Cleanup Dangling 408.12 records process "_STAT_" on "
|
---|
| 36 | S HTEXT=HTEXT_$$FMTE^XLFDT(STIME)
|
---|
| 37 | D BLDLINE(HTEXT,.LIN)
|
---|
| 38 | S TEXT=$S(DOS="S":"Summary",1:"Detail")_" Information"
|
---|
| 39 | S TEXT=$J("",60-$L(TEXT)\2)_TEXT
|
---|
| 40 | D BLDLINE(TEXT,.LIN)
|
---|
| 41 | S TEXT="CLEANUP OF FILE #408.12 RECORDS "_STAT_" WITH "_DGDEL12_" RECORDS DELETED!!"
|
---|
| 42 | S TEXT=$J("",60-$L(TEXT)\2)_TEXT
|
---|
| 43 | D BLDLINE(TEXT,.LIN)
|
---|
| 44 | D BLDLINE("",.LIN)
|
---|
| 45 | I TESTING D
|
---|
| 46 | . S TEXT="** TESTING - NO CHANGES TO DATABASE WILL BE MADE**"
|
---|
| 47 | . D BLDLINE(TEXT,.LIN)
|
---|
| 48 | . Q
|
---|
| 49 | I MSGNO S TEXT="Message number: "_MSGNO D BLDLINE(TEXT,.LIN)
|
---|
| 50 | D BLDLINE("",.LIN)
|
---|
| 51 | S MSGNO=MSGNO+1
|
---|
| 52 | Q
|
---|
| 53 | ;
|
---|
| 54 | SUMRY(LIN) ;build summary lines for mail message
|
---|
| 55 | S TEXT="Total 408.12 Records Processed: " D BLDLINE2(TEXT,.LIN,DGTOT)
|
---|
| 56 | S TEXT=" Purged file #408.12 records: "
|
---|
| 57 | D BLDLINE2(TEXT,.LIN,DGDEL12)
|
---|
| 58 | S TEXT=" Bad or missing file #2 pointer (field #.01 or #.03): "
|
---|
| 59 | D BLDLINE2(TEXT,.LIN,DGBADPAT)
|
---|
| 60 | S TEXT=" Bad or missing file #408.13 pointer (field #.03): "
|
---|
| 61 | D BLDLINE2(TEXT,.LIN,DGBADPER)
|
---|
| 62 | S TEXT=" Null or bad variable pointer (field #.03): "
|
---|
| 63 | D BLDLINE2(TEXT,.LIN,DGBAD03)
|
---|
| 64 | S TEXT=" Purged file #408.21 records: "
|
---|
| 65 | D BLDLINE2(TEXT,.LIN,DGDEL21)
|
---|
| 66 | S TEXT=" Purged file #408.22 records: "
|
---|
| 67 | D BLDLINE2(TEXT,.LIN,DGDEL22)
|
---|
| 68 | D BLDLINE("",.LIN)
|
---|
| 69 | D BLDLINE("",.LIN)
|
---|
| 70 | D BLDLINE("",.LIN)
|
---|
| 71 | ;
|
---|
| 72 | I DGDEL12 D
|
---|
| 73 | . D BLDLINE("Detail changes to follow in subsequent mail messages.",.LIN)
|
---|
| 74 | Q
|
---|
| 75 | ;
|
---|
| 76 | BLDLINE2(TEXT,LIN,VAL) ;
|
---|
| 77 | N X
|
---|
| 78 | S X=TEXT_$J("",60-$L(TEXT))_$J($FN(VAL,","),11)
|
---|
| 79 | D BLDLINE(X,.LIN)
|
---|
| 80 | Q
|
---|
| 81 | SNDDET ;build and send detail messages limit under 2000 lines each
|
---|
| 82 | N DATE,ERR,MAXLIN,MORE,R12,R21,R22
|
---|
| 83 | S MAXLIN=1995,MORE=0
|
---|
| 84 | D HDNG(.HTEXT,.MSGNO,.LIN,"D",STAT,STIME,DGDEL12,TESTING)
|
---|
| 85 | ;
|
---|
| 86 | S R12=""
|
---|
| 87 | F S R12=$O(^XTMP(NAMSPC,"BADPR",R12)) Q:R12="" D ERR
|
---|
| 88 | ;
|
---|
| 89 | ;print final message if any to print
|
---|
| 90 | D MAILIT(HTEXT):MORE
|
---|
| 91 | Q
|
---|
| 92 | ;
|
---|
| 93 | ERR S ERR="",MORE=1
|
---|
| 94 | F S ERR=$O(^XTMP(NAMSPC,"BADPR",R12,"ERR",ERR)) Q:ERR="" D
|
---|
| 95 | . S TEXT=^XTMP(NAMSPC,"BADPR",R12,"ERR",ERR)
|
---|
| 96 | . I ERR=1 S TEXT="File 408.12, record "_R12_" had a bad pointer to "_TEXT
|
---|
| 97 | . I ERR=2 S TEXT=" "_TEXT
|
---|
| 98 | . D BLDLINE(TEXT,.LIN)
|
---|
| 99 | . ;max lines reached, print a msg
|
---|
| 100 | . I LIN>MAXLIN D S MORE=0
|
---|
| 101 | . . D MAILIT(HTEXT)
|
---|
| 102 | . . D HDNG(.HTEXT,.MSGNO,.LIN,"D",STAT,STIME,DGDEL12,TESTING)
|
---|
| 103 | . . Q
|
---|
| 104 | . Q
|
---|
| 105 | S R21=""
|
---|
| 106 | F S R21=$O(^XTMP(NAMSPC,"BADPR",R12,"REL",R21)) Q:R21="" D R22
|
---|
| 107 | Q
|
---|
| 108 | R22 S TEXT=" "_^XTMP(NAMSPC,"BADPR",R12,"REL",R21)
|
---|
| 109 | D BLDLINE(TEXT,.LIN)
|
---|
| 110 | I LIN>MAXLIN D S MORE=0
|
---|
| 111 | . D MAILIT(HTEXT)
|
---|
| 112 | . D HDNG(.HTEXT,.MSGNO,.LIN,"D",STAT,STIME,DGDEL12,TESTING)
|
---|
| 113 | . Q
|
---|
| 114 | S R22=""
|
---|
| 115 | F S R22=$O(^XTMP(NAMSPC,"BADPR",R12,"REL",R21,R22)) Q:R22="" D
|
---|
| 116 | . S TEXT=" "_^XTMP(NAMSPC,"BADPR",R12,"REL",R21,R22)
|
---|
| 117 | . D BLDLINE(TEXT,.LIN)
|
---|
| 118 | . I LIN>MAXLIN D S MORE=0
|
---|
| 119 | . . D MAILIT(HTEXT)
|
---|
| 120 | . . D HDNG(.HTEXT,.MSGNO,.LIN,"D",STAT,STIME,DGDEL12,TESTING)
|
---|
| 121 | . . Q
|
---|
| 122 | . Q
|
---|
| 123 | Q
|
---|
| 124 | BLDLINE(TEXT,LIN) ;build a single line into TMP message global
|
---|
| 125 | S LIN=LIN+1
|
---|
| 126 | S ^TMP(NAMSPC,$J,"MSG",LIN)=TEXT
|
---|
| 127 | Q
|
---|
| 128 | MAILIT(HTEXT) ; send the mail message
|
---|
| 129 | N XMY,XMDUZ,XMSUB,XMTEXT
|
---|
| 130 | S XMY(DUZ)="",XMDUZ=.5
|
---|
| 131 | S XMSUB=HTEXT
|
---|
| 132 | S XMTEXT="^TMP(NAMSPC,$J,""MSG"","
|
---|
| 133 | D ^XMD K ^TMP(NAMSPC,$J,"MSG")
|
---|
| 134 | Q
|
---|