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

XTERPUR.m

Go to the documentation of this file.
  1. XTERPUR ;ISC-SF.SEA/JLI - DELETE ENTRIES FROM ERROR TRAP ;02/11/11
  1. ;;8.0;KERNEL;**243,431**;Jul 10, 1995;Build 38
  1. ;Per VHA Directive 2004-038, this routine should not be modified.
  1. N I,X,XTDAT,XTDAT1,%DT
  1. EN1 W !!,"To Remove ALL entries except the last N days, simply enter the number N at the"
  1. W !,"prompt. OTHERWISE, enter return at the first prompt, and a DATE at the"
  1. W !,"second prompt. If no ending date is entered at the third prompt, then only"
  1. W !,"the date specified will be deleted. If an ending date is entered that range",!,"of dates INCLUSIVE will be deleted from the error log.",!!
  1. ;
  1. W !!,"Number of days to leave in error trap: " R X:DTIME Q:'$T!(X[U) I X'="",X'=+X W:$E(X)'="?" $C(7)," ??" W !?5,"Enter a number (zero or greater) of days to be left in the Error Log.",!,"A RETURN will result in a request for dates" G EN1
  1. I X=+X S X=$H-X D KRANGE(1,X) W !!?10,"DONE" D COUNT Q
  1. ;
  1. EN2 R !,"Starting Date to DELETE ERRORS from: ",X:DTIME Q:'$T!(X[U)!(X="") S %DT="EQXP" D ^%DT G:Y'>0 EN2 S XTDAT=Y
  1. R !,"Ending Date to DELETE ERRORS to: ",X:DTIME I '$T!(X[U) W $C(7)," ??" Q
  1. S:X="" X=XTDAT,%DT="QXP" D ^%DT G:Y'>0 EN2 S XTDAT1=Y
  1. S XTDAT=$$FMTH^XLFDT(XTDAT),XTDAT1=$$FMTH^XLFDT(XTDAT1) I XTDAT1<XTDAT W $C(7)," ?? CAN NOT BE EARLIER" Q
  1. D KRANGE(XTDAT,XTDAT1),COUNT
  1. Q
  1. ;
  1. COUNT ;Update FM zero node counts
  1. N I,X,XTDAT
  1. S X=0,XTDAT=0 F I=0:0 S I=$O(^%ZTER(1,I)) Q:I'>0 S X=X+1,XTDAT=I
  1. S $P(^%ZTER(1,0),U,3,4)=$S(X'>0:"",1:XTDAT_U_X)
  1. F XTDAT=0:0 S XTDAT=$O(^%ZTER(1,"B",XTDAT)) Q:XTDAT'>0 I '$D(^%ZTER(1,XTDAT)) K ^%ZTER(1,"B",XTDAT)
  1. Q
  1. TYPE ;To purge a type of error.
  1. N %DT,XTDAT,XTSTR,IX,Y,CNT
  1. S %DT="AEX" D ^%DT Q:Y'>1 S XTDAT=+$$FMTH^XLFDT(Y)
  1. R !,"ERROR STRING TO LOOK FOR: ",XTSTR:DTIME
  1. Q:'$L(XTSTR)
  1. S CNT=0 W !
  1. F IX=0:0 S IX=$O(^%ZTER(1,XTDAT,1,IX)) Q:IX'>0 D
  1. . I $G(^(IX,"ZE"))[XTSTR K ^%ZTER(1,XTDAT,1,IX) W "-" Q
  1. . W "." S CNT=CNT+1 Q
  1. ;Full reference of ^(IX,"ZE") is ^%ZTER(1,XTDAT,1,IX,"ZE")
  1. S $P(^%ZTER(1,XTDAT,0),"^",2)=CNT ;Reset count
  1. Q
  1. AUTO ;Auto clean of error over ZTQPARAM days ago.
  1. N XTDT,XUSX
  1. S XUSX=$P($G(^XTV(8989.3,1,"ZTER")),U,3)
  1. ;S:$G(ZTQPARAM)<1 ZTQPARAM=7
  1. S:$G(XUSX)<1 XUSX=7
  1. ;S XTDT=$P($G(^XTV(8989.3,1,"ZTER"),"^^7"),U,3),XTDT=$H-$S(XTDT>ZTQPARAM:XTDT,1:ZTQPARAM)
  1. S XTDT=$P($G(^XTV(8989.3,1,"ZTER"),"^^7"),U,3),XTDT=$H-$S(XTDT>XUSX:XTDT,1:XUSX)
  1. D KRANGE(1,XTDT),PURGE^XTERSUM1
  1. Q
  1. ;
  1. KRANGE(XTST,XTDAT) ;Kill error trap before this date
  1. N XTDH
  1. I (XTDAT>$H)!('XTDAT) Q
  1. S XTDH=+$G(XTST,1)-1
  1. F S XTDH=$O(^%ZTER(1,XTDH)) Q:(XTDH'>0)!(XTDH'<XTDAT) D KILLDAY(XTDH)
  1. Q
  1. KILLDAY(%H) ;Kill all errors on one day
  1. ;L +^%ZTER(1):60 K ^%ZTER(1,%H),^%ZTER(1,"B",%H) L -^%ZTER(1)
  1. N DIK,DA
  1. L +^%ZTER(1,%H):60 S DIK="^%ZTER(1,",DA=%H D ^DIK L -^%ZTER(1,%H)
  1. Q
  1. ;