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

DG488M.m

Go to the documentation of this file.
  1. DG488M ;ALB/GN - MONITOR/MAIL CLEANUP PATIENT RELATION & INCOME FILES;12/11/02 ; 2/4/03 12:56pm
  1. ;;5.3;REGISTRATION;**488**;5-1-2001
  1. ;
  1. Q
  1. ;
  1. MONITOR ; Monitor job while running
  1. N IOINORM,IOINHI,IOUON,IOUOFF,IOBON,IOBOFF,IORVON,IORVOFF,IOHOME
  1. N IOELEOL,NAMSPC,DGT12,DG12,DG12X,DGT21,DG21,DG21X,DGT22,DG22,DG22X
  1. N STAT,DGLINE,DGBLNK,NOWTIM,%H,DTOUT,I,DGLEN,DGQUIT,TITLE,TLEN,X,REC
  1. N NAMSPC,NOWTIME,PCT,TESTING,TASKID,MODE,BTIME,DGFIL,DGIEN,STIME,RUN
  1. S:'$D(U) U="^"
  1. S NAMSPC=$$NAMSPC^DG488
  1. S DGQUIT=0
  1. D SCRNSET
  1. S TESTING=+$G(^XTMP(NAMSPC,0,"TESTING"))
  1. S TASKID=$G(^XTMP(NAMSPC,0,"TASKID"))
  1. ;
  1. F D Q:DGQUIT
  1. . ;check lock status
  1. . L +^XTMP(NAMSPC):3
  1. . I '$T S RUN=1
  1. . E S RUN=0
  1. . L -^XTMP(NAMSPC)
  1. . ;get last run info
  1. . D GETLAST^DG488
  1. . S:STAT="" STAT="NOT RUNNING"
  1. . S NOWTIME=$$NOW^XLFDT
  1. . I (RUN&(STAT'="RUNNING"))!('RUN&(STAT="RUNNING")) D
  1. . . S STAT="ERRORED"
  1. . D CLRSCR
  1. . S $P(DGBLNK," ",81)=""
  1. . S DGLINE=DGBLNK
  1. . S TITLE=$P($G(^XTMP(NAMSPC,0),"^^DG488 JOB"),U,3)
  1. . S TLEN=(80-$L(TITLE)\2)
  1. . W $$FMTE^XLFDT($$NOW^XLFDT,"2P")
  1. . S MODE=$S(TESTING:"TEST",1:"LIVE")
  1. . W ?32,"** ",MODE," MODE **"
  1. . W ?63,"Task ID: ",TASKID
  1. . W !!
  1. . ;title line
  1. . W ?TLEN,IOINHI,IOUON,TITLE,IOUOFF,IOINORM,!
  1. . ;begin next line
  1. . S DGLINE=DGBLNK
  1. . S DGLINE=$$FMTLINE(DGLINE,4,"Status")
  1. . S DGLINE=$$FMTLINE(DGLINE,30,"Last ien")
  1. . S DGLINE=$$FMTLINE(DGLINE,58,"Completed Time")
  1. . W !!,IORVON,DGLINE,IORVOFF
  1. . ;begin next line
  1. . S DGLINE=DGBLNK
  1. . S DGLINE=$$FMTLINE(DGLINE,4,STAT)
  1. . S DGLINE=$$FMTLINE(DGLINE,26,DGFIL_"/"_DGIEN)
  1. . S DGLINE=$$FMTLINE(DGLINE,58,$$FMTE^XLFDT(STIME,2))
  1. . W !,DGLINE
  1. . ;begin next line
  1. . S DGLINE=DGBLNK
  1. . S DGLINE=$$FMTLINE(DGLINE,5,"Tot 408.12 recs")
  1. . S DGLINE=$$FMTLINE(DGLINE,30,"408.12 recs purged")
  1. . S DGLINE=$$FMTLINE(DGLINE,55,"408.12 bad xrefs")
  1. . W !!,IORVON,DGLINE,IORVOFF
  1. . ;begin next line
  1. . S DGLINE=DGBLNK
  1. . S DGLINE=$$FMTLINE(DGLINE,7,$J($FN(DGT12,","),10))
  1. . S DGLINE=$$FMTLINE(DGLINE,32,$J($FN(DG12,","),10))
  1. . S DGLINE=$$FMTLINE(DGLINE,57,$J($FN(DG12X,","),10))
  1. . W !,DGLINE
  1. . ;begin next line
  1. . S DGLINE=DGBLNK
  1. . S DGLINE=$$FMTLINE(DGLINE,5,"Tot 408.21 recs")
  1. . S DGLINE=$$FMTLINE(DGLINE,30,"408.21 recs purged")
  1. . S DGLINE=$$FMTLINE(DGLINE,55,"408.21 bad xrefs")
  1. . W !!,IORVON,DGLINE,IORVOFF
  1. . ;begin next line
  1. . S DGLINE=DGBLNK
  1. . S DGLINE=$$FMTLINE(DGLINE,7,$J($FN(DGT21,","),10))
  1. . S DGLINE=$$FMTLINE(DGLINE,32,$J($FN(DG21,","),10))
  1. . S DGLINE=$$FMTLINE(DGLINE,57,$J($FN(DG21X,","),10))
  1. . W !,DGLINE
  1. . ;begin next line
  1. . S DGLINE=DGBLNK
  1. . S DGLINE=$$FMTLINE(DGLINE,5,"Tot 408.22 recs")
  1. . S DGLINE=$$FMTLINE(DGLINE,30,"408.22 recs purged")
  1. . S DGLINE=$$FMTLINE(DGLINE,55,"408.22 bad xrefs")
  1. . W !!,IORVON,DGLINE,IORVOFF
  1. . ;begin next line
  1. . S DGLINE=DGBLNK
  1. . S DGLINE=$$FMTLINE(DGLINE,7,$J($FN(DGT22,","),10))
  1. . S DGLINE=$$FMTLINE(DGLINE,32,$J($FN(DG22,","),10))
  1. . S DGLINE=$$FMTLINE(DGLINE,57,$J($FN(DG22X,","),10))
  1. . W !,DGLINE
  1. . ;begin next line
  1. . S DGLINE=DGBLNK
  1. . W !!!
  1. . K DIR
  1. . S DIR("T")=5
  1. . W ?15,"screen refreshes automatically every "_DIR("T")_" seconds",!
  1. . W !!,"Press "_IORVON_"<Enter>"_IORVOFF_" to Stop Monitor...",!
  1. . S DIR(0)="EA"
  1. . D ^DIR
  1. . I '$D(DTOUT) S DGQUIT=1
  1. . I STAT'="RUNNING" S DGQUIT=1
  1. W @IOF
  1. Q
  1. ;
  1. FMTLINE(DGLINE,DGTB,DGTX) ; format a line
  1. N DGEND
  1. S DGLEN=$L(DGTX)
  1. S DGEND=DGTB+DGLEN-1
  1. S $E(DGLINE,DGTB,DGEND)=DGTX
  1. Q DGLINE
  1. ;
  1. SCRNSET ; setup screen variables
  1. S:'$D(IOST(0)) IOST(0)="C-VT320"
  1. S X="IOINORM;IOINHI;IOUON;IOUOFF;IOBON;IOBOFF;IORVON;IORVOFF;IOHOME"
  1. S X=X_";IOELEOL" D ENDR^%ZISS
  1. Q
  1. ;
  1. CLRSCR ; clear screen and return to normal
  1. W IOHOME,IORVOFF,IOBOFF,IOUOFF,IOINORM,@IOF
  1. S $X=0,$Y=0
  1. Q
  1. ;
  1. MAIL ; mail stats
  1. N HTEXT,TEXT,NAMSPC,LIN
  1. S LIN=0
  1. S NAMSPC=$$NAMSPC^DG488
  1. K ^TMP(NAMSPC,$J)
  1. ;get last run data
  1. D GETLAST^DG488
  1. ;build text for message
  1. S HTEXT=ZTDESC_" "_STAT_" on "
  1. S HTEXT=HTEXT_$$FMTE^XLFDT(STIME)
  1. D BLDLINE(HTEXT)
  1. D BLDLINE("Elapsed time: "_$$FMDIFF^XLFDT(STIME,BTIME,3))
  1. D BLDLINE("")
  1. I TESTING S TEXT="** TESTING **" D BLDLINE(TEXT)
  1. D BLDLINE("")
  1. S TEXT=" Total 408.12 Records Processed: "_$J($FN(DGT12,","),11)
  1. D BLDLINE(TEXT)
  1. S TEXT=" 408.12 bad records purged: "_$J($FN(DG12,","),11)
  1. D BLDLINE(TEXT)
  1. S TEXT=" 408.12 bad xrefs purged: "_$J($FN(DG12X,","),11)
  1. D BLDLINE(TEXT)
  1. D BLDLINE("")
  1. S TEXT=" Total 408.21 Records Processed: "_$J($FN(DGT21,","),11)
  1. D BLDLINE(TEXT)
  1. S TEXT=" 408.21 bad records purged: "_$J($FN(DG21,","),11)
  1. D BLDLINE(TEXT)
  1. S TEXT=" 408.21 bad xrefs purged: "_$J($FN(DG21X,","),11)
  1. D BLDLINE(TEXT)
  1. D BLDLINE("")
  1. S TEXT=" Total 408.22 Records Processed: "_$J($FN(DGT22,","),11)
  1. D BLDLINE(TEXT)
  1. S TEXT=" 408.22 bad records purged: "_$J($FN(DG22,","),11)
  1. D BLDLINE(TEXT)
  1. S TEXT=" 408.22 bad xrefs purged: "_$J($FN(DG22X,","),11)
  1. D BLDLINE(TEXT)
  1. ;send the message
  1. D MAILIT(HTEXT)
  1. K ^TMP(NAMSPC,$J)
  1. Q
  1. ;
  1. BLDLINE(TEXT) ;
  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_" Results"
  1. S XMTEXT="^TMP(NAMSPC,$J,""MSG"","
  1. D ^XMD
  1. Q
  1. ;