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

XDRDPREL.m

Go to the documentation of this file.
  1. XDRDPREL ;SF-IRMFO.SEA/JLI - PRELIMINARY IDENTIFICATION OF ENTRIES WITH BAD DATA ;9/19/96 09:19
  1. ;;7.3;TOOLKIT;**23**;Apr 25, 1995
  1. ;;
  1. ;;
  1. EN ;
  1. S XDRFL=+$$FILE^XDRDPICK() G:XDRFL'>0 EXIT S XDRFNAM=$P(^DIC(XDRFL,0),U)
  1. I $D(^XTMP("XDRDPREL",XDRFL," DONE")) D Q:XDRFL=0 I 1
  1. . W !!,"A run was completed on "_$$HTE^XLFDT(^XTMP("XDRDPREL",XDRFL," DONE")),!!
  1. . S DIR(0)="Y",DIR("A")="Do you want to view those results",DIR("B")="YES" D ^DIR K DIR
  1. . I Y>0 D
  1. . . D VIEW(XDRFL)
  1. . . S XDRFL=0
  1. E I $D(^XTMP("XDRDPREL",XDRFL," TIME")) D Q:XDRFL=0
  1. . I $$HDIFF^XLFDT($H,^XTMP("XDRDPREL",XDRFL," TIME"),2)>300 Q
  1. . W !!,"There appears to be a job already running. You may either"
  1. . W !,"view those data or check back in about 5 minutes.",!!
  1. . S DIR(0)="Y",DIR("A")="Do you want to view the running job",DIR("B")="YES" D ^DIR K DIR
  1. . I Y>0 D VIEW(XDRFL)
  1. . S XDRFL=0
  1. S ZTRTN="DQ^XDRDPREL",ZTIO="",ZTSAVE("XDRFL")="",ZTDESC="XDRDPREL - PRELIM SCAN" D ^%ZTLOAD
  1. I $D(ZTSK) W !!,"Queued as task ",ZTSK,!
  1. Q
  1. DQ ;
  1. S XDRGLB=^DIC(XDRFL,0,"GL")_"XDRDA)"
  1. S XDRDR=""
  1. F XDRI=0:0 S XDRI=$O(^DD(XDRFL,0,"ID",XDRI)) Q:XDRI'>0 S XDRDR=XDRDR_XDRI_";"
  1. S XDRTMP="^XTMP(""XDRDPREL"",XDRFL)"
  1. K @XDRTMP,XDRNV,XDRN S NTOT=0,@XDRTMP@(" TIME")=$H,@XDRTMP@(" START")=$H
  1. F XDRDA=0:0 S XDRDA=$O(@XDRGLB) Q:XDRDA'>0 D
  1. . I $D(@XDRGLB@(-9)) Q
  1. . S @XDRTMP@(" CURR")=XDRDA,^(" TIME")=$H
  1. . S NTOT=NTOT+1
  1. . S @XDRTMP@(" TOTAL")=NTOT
  1. . I '$D(@XDRGLB@(0)) D Q
  1. . . S XXX="NO ZERO NODE"
  1. . . S ^(XXX)=$G(@XDRTMP@(XXX))+1
  1. . . S @XDRTMP@(XXX,XDRDA)=""
  1. . I XDRDR'="" D
  1. . . S DR=XDRDR
  1. . . S DA=XDRDA,DIC=XDRFL,DIQ(0)="I",DIQ="XDRX" K XDRX
  1. . . D EN^DIQ1
  1. . . S N=0
  1. . . F I=0:0 S I=$O(XDRX(XDRFL,XDRDA,I)) Q:I'>0 D
  1. . . . I XDRX(XDRFL,XDRDA,I,"I")="" D
  1. . . . . S N=N+1
  1. . . . . S XXX="MISSING #"_I
  1. . . . . S @XDRTMP@(XXX)=$G(@XDRTMP@(XXX))+1
  1. . . . . S @XDRTMP@(XXX,XDRDA)=""
  1. . . S XXX=$G(XDRX(XDRFL,XDRDA,$S(XDRFL=2:.09,XDRFL=200:9,1:0),"I"))
  1. . . I XXX'="" D
  1. . . . I XXX'?9N.E D
  1. . . . . S XXX="BAD SSN"
  1. . . . . S @XDRTMP@(XXX)=$G(@XDRTMP@(XXX))+1
  1. . . . . S @XDRTMP@(XXX,XDRDA)=""
  1. . . . . S N=N+1
  1. . . I N>0 D
  1. . . . S XXX="MISSING "_N_" VAL"_$S(N>1:"S",1:"")
  1. . . . S @XDRTMP@(XXX)=$G(@XDRTMP@(XXX))+1
  1. . . . S @XDRTMP@(XXX,XDRDA)=""
  1. S @XDRTMP@(" DONE")=$H
  1. K @XDRTMP@(" TIME")
  1. Q
  1. VIEW(XDRFL) ;
  1. N XDRTMP,X,Y,XTIME
  1. S XDRTMP="^XTMP(""XDRDPREL"",XDRFL)"
  1. I '$D(@XDRTMP) Q
  1. L +@XDRTMP
  1. S X=""
  1. F S X=$O(@XDRTMP@(X)) Q:X="" S X(X)=@XDRTMP@(X)
  1. L -@XDRTMP
  1. S XRUN=$$HDIFF^XLFDT($S($D(X(" DONE")):X(" DONE"),1:X(" TIME")),X(" START"),2)
  1. S XTIME=(XRUN\3600)_":"_$S((XRUN#3600\60)<10:"0",1:"")_(XRUN#3600\60)_":"_$S((XRUN#60)<10:"0",1:"")_(XRUN#60)
  1. W @IOF
  1. W !!!,"RUN TIME: ",XTIME," CURRENT IEN: ",X(" CURR")," FILE ENTRIES: ",X(" TOTAL")
  1. W !
  1. S X="" F S X=$O(X(X)) Q:X="" I X["#" D
  1. . S Y=+$P(X,"#",2)
  1. . W !,$J(X(X),10)," ",XDRFNAM," entries are missing field # ",Y," ",$P(^DD(XDRFL,Y,0),U)
  1. I $D(X("NO ZERO NODE")) W !,$J(X("NO ZERO NODE"),10)," ",XDRFNAM," entries have NO zero node!"
  1. I $D(X("BAD SSN")) W !,$J(X("BAD SSN"),10)," ",XDRFNAM," entries have bad SSN values (non-numeric, etc.)"
  1. S X="" W !
  1. F S X=$O(X(X)) Q:X="" I X["VAL" D
  1. . S Y=+$P(X," ",2)
  1. . W !,$J(X(X),10)," ",XDRFNAM," entries are missing ",Y," of the fields above"
  1. W ! K DIR S DIR(0)="E" D ^DIR K DIR
  1. Q
  1. ;
  1. EXIT Q