Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DG53618M

DG53618M.m

Go to the documentation of this file.
  1. DG53618M ;ALB/GN/PHH - DG*5.3*618 CLEANUP UTILITES ;03/22/2005 10:39 AM
  1. ;;5.3;Registration;**618,1015**;Aug 13, 1993;Build 21
  1. ;
  1. ; Misc cleanup utilities
  1. ;
  1. MAIL(TESTING) ; mail stats
  1. N ACT,LACT,DFN,BTIME,HTEXT,TEXT,NAMSPC,LIN,MSGNO,DGDEL21,DGDEL12,DGTOT
  1. N LSSN,R40831,STS,STSNAM,STAT,MTIEN,STIME
  1. N TYPE,TYPNAM,DGDEL22,DGBADPAT,DGBADPER
  1. N DGBAD03,X
  1. S MSGNO=1
  1. S NAMSPC=$$NAMSPC^DG53618,X=$G(^XTMP(NAMSPC,0,0))
  1. S DGTOT=$P(X,U,2)
  1. S DGDEL12=$P(X,U,3)
  1. S BTIME=$P(X,U,4)
  1. S STAT=$P(X,U,5)
  1. S STIME=$P(X,U,6)
  1. S DGDEL21=$P(X,U,7)
  1. S DGDEL22=$P(X,U,8)
  1. S DGBADPAT=$P(X,U,9)
  1. S DGBADPER=$P(X,U,10)
  1. S DGBAD03=$P(X,U,11)
  1. ;
  1. D HDNG(.HTEXT,.MSGNO,.LIN,"S",STAT,STIME,DGDEL12,TESTING)
  1. D SUMRY(.LIN)
  1. D MAILIT(HTEXT)
  1. ;
  1. D SNDDET
  1. Q 1
  1. ;
  1. ;build heading lines for mail message
  1. HDNG(HTEXT,MSGNO,LIN,DOS,STAT,STIME,DGDEL12,TESTING) ;
  1. K ^TMP(NAMSPC,$J,"MSG")
  1. S LIN=0
  1. S HTEXT="Cleanup Dangling 408.12 records process "_STAT_" on "
  1. S HTEXT=HTEXT_$$FMTE^XLFDT(STIME)
  1. D BLDLINE(HTEXT,.LIN)
  1. S TEXT=$S(DOS="S":"Summary",1:"Detail")_" Information"
  1. S TEXT=$J("",60-$L(TEXT)\2)_TEXT
  1. D BLDLINE(TEXT,.LIN)
  1. S TEXT="CLEANUP OF FILE #408.12 RECORDS "_STAT_" WITH "_DGDEL12_" RECORDS DELETED!!"
  1. S TEXT=$J("",60-$L(TEXT)\2)_TEXT
  1. D BLDLINE(TEXT,.LIN)
  1. D BLDLINE("",.LIN)
  1. I TESTING D
  1. . S TEXT="** TESTING - NO CHANGES TO DATABASE WILL BE MADE**"
  1. . D BLDLINE(TEXT,.LIN)
  1. . Q
  1. I MSGNO S TEXT="Message number: "_MSGNO D BLDLINE(TEXT,.LIN)
  1. D BLDLINE("",.LIN)
  1. S MSGNO=MSGNO+1
  1. Q
  1. ;
  1. SUMRY(LIN) ;build summary lines for mail message
  1. S TEXT="Total 408.12 Records Processed: " D BLDLINE2(TEXT,.LIN,DGTOT)
  1. S TEXT=" Purged file #408.12 records: "
  1. D BLDLINE2(TEXT,.LIN,DGDEL12)
  1. S TEXT=" Bad or missing file #2 pointer (field #.01 or #.03): "
  1. D BLDLINE2(TEXT,.LIN,DGBADPAT)
  1. S TEXT=" Bad or missing file #408.13 pointer (field #.03): "
  1. D BLDLINE2(TEXT,.LIN,DGBADPER)
  1. S TEXT=" Null or bad variable pointer (field #.03): "
  1. D BLDLINE2(TEXT,.LIN,DGBAD03)
  1. S TEXT=" Purged file #408.21 records: "
  1. D BLDLINE2(TEXT,.LIN,DGDEL21)
  1. S TEXT=" Purged file #408.22 records: "
  1. D BLDLINE2(TEXT,.LIN,DGDEL22)
  1. D BLDLINE("",.LIN)
  1. D BLDLINE("",.LIN)
  1. D BLDLINE("",.LIN)
  1. ;
  1. I DGDEL12 D
  1. . D BLDLINE("Detail changes to follow in subsequent mail messages.",.LIN)
  1. Q
  1. ;
  1. BLDLINE2(TEXT,LIN,VAL) ;
  1. N X
  1. S X=TEXT_$J("",60-$L(TEXT))_$J($FN(VAL,","),11)
  1. D BLDLINE(X,.LIN)
  1. Q
  1. SNDDET ;build and send detail messages limit under 2000 lines each
  1. N DATE,ERR,MAXLIN,MORE,R12,R21,R22
  1. S MAXLIN=1995,MORE=0
  1. D HDNG(.HTEXT,.MSGNO,.LIN,"D",STAT,STIME,DGDEL12,TESTING)
  1. ;
  1. S R12=""
  1. F S R12=$O(^XTMP(NAMSPC,"BADPR",R12)) Q:R12="" D ERR
  1. ;
  1. ;print final message if any to print
  1. D MAILIT(HTEXT):MORE
  1. Q
  1. ;
  1. ERR S ERR="",MORE=1
  1. F S ERR=$O(^XTMP(NAMSPC,"BADPR",R12,"ERR",ERR)) Q:ERR="" D
  1. . S TEXT=^XTMP(NAMSPC,"BADPR",R12,"ERR",ERR)
  1. . I ERR=1 S TEXT="File 408.12, record "_R12_" had a bad pointer to "_TEXT
  1. . I ERR=2 S TEXT=" "_TEXT
  1. . D BLDLINE(TEXT,.LIN)
  1. . ;max lines reached, print a msg
  1. . I LIN>MAXLIN D S MORE=0
  1. . . D MAILIT(HTEXT)
  1. . . D HDNG(.HTEXT,.MSGNO,.LIN,"D",STAT,STIME,DGDEL12,TESTING)
  1. . . Q
  1. . Q
  1. S R21=""
  1. F S R21=$O(^XTMP(NAMSPC,"BADPR",R12,"REL",R21)) Q:R21="" D R22
  1. Q
  1. R22 S TEXT=" "_^XTMP(NAMSPC,"BADPR",R12,"REL",R21)
  1. D BLDLINE(TEXT,.LIN)
  1. I LIN>MAXLIN D S MORE=0
  1. . D MAILIT(HTEXT)
  1. . D HDNG(.HTEXT,.MSGNO,.LIN,"D",STAT,STIME,DGDEL12,TESTING)
  1. . Q
  1. S R22=""
  1. F S R22=$O(^XTMP(NAMSPC,"BADPR",R12,"REL",R21,R22)) Q:R22="" D
  1. . S TEXT=" "_^XTMP(NAMSPC,"BADPR",R12,"REL",R21,R22)
  1. . D BLDLINE(TEXT,.LIN)
  1. . I LIN>MAXLIN D S MORE=0
  1. . . D MAILIT(HTEXT)
  1. . . D HDNG(.HTEXT,.MSGNO,.LIN,"D",STAT,STIME,DGDEL12,TESTING)
  1. . . Q
  1. . Q
  1. Q
  1. BLDLINE(TEXT,LIN) ;build a single line into TMP message global
  1. S LIN=LIN+1
  1. S ^TMP(NAMSPC,$J,"MSG",LIN)=TEXT
  1. Q
  1. MAILIT(HTEXT) ; send the mail message
  1. N XMY,XMDUZ,XMSUB,XMTEXT
  1. S XMY(DUZ)="",XMDUZ=.5
  1. S XMSUB=HTEXT
  1. S XMTEXT="^TMP(NAMSPC,$J,""MSG"","
  1. D ^XMD K ^TMP(NAMSPC,$J,"MSG")
  1. Q