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

PRCHRCV.m

Go to the documentation of this file.
  1. PRCHRCV ;DJM/WISC-IFCAP BAR DISPLAY ROUTINE ;7/25/94 3:33 PM
  1. V ;;5.1;IFCAP;;Oct 20, 2000
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. SETUP(COUNT) ;ENTER HERE TO SET UP THE BAR GRAPH DISPLAY.
  1. ;YOUR ROUTINE USING THIS BAR GRAPH MUST NOT WRITE ANYTHING TO THE SCREEN.
  1. ;
  1. ; 'COUNT' IS THE NUMBER OF ENTRIES BEING PROCESSED.
  1. ; THIS NUMBER WILL BECOME 100% ON THE BAR GRAPH.
  1. ;
  1. I $Y>2 W @IOF
  1. I COUNT="" W !!,"THERE IS NO 'COUNT' TO WORK WITH. I QUIT." Q
  1. S TREC=COUNT
  1. I $E(IOST)="C",'$D(ZTQUEUED) S X="IORVON;IORVOFF" D ENDR^%ZISS
  1. I $D(IORVON),$D(IORVOFF) S CURSOR=IORVON_" "_IORVOFF
  1. D WAIT^PRCFYN
  1. S CREC=$S($E(IOST)="C":1.24,1:4.99)
  1. S X="There are "_TREC_" records to process." D MSG^PRCFQ
  1. S LINE="---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
  1. I TREC>80,$E(IOST)="C" W !!,?25,"P E R C E N T C O M P L E T E",!!," 10 20 30 40 50 60 70 80 90 100",!,LINE,!
  1. S (MX,NX)=0,(XPOS,XCOUNT)=0
  1. S:$Y>22 Y=22 S A=$Y,N=0,M=0,BTIME=$P($H,",",2)
  1. Q
  1. ;
  1. UPDATE(INIT) ;ENTER HERE AFTER EACH RECORD IS PROCESSED.
  1. ; INIT=CURRENT NUMBER OF RECORDS PROCESSED.
  1. ; INIT DOES NOT NEED TO BE ENTERED.
  1. ; ENTERING INIT WILL PRESET THE BAR GRAPH TO WHATEVER PERCENT
  1. ; XCOUNT IS OF COUNT.
  1. ;
  1. ;IF ENOUGH RECORDS HAVE BEEN COMPLETED THE BAR GRAPH WILL BE UPDATED.
  1. S TEST=INIT
  1. S XCOUNT=$S(INIT>0:INIT,1:XCOUNT)
  1. S XCOUNT=XCOUNT+1 D:'$D(ZTQUEUED) PERCENT
  1. I PERCENT=100 S DX=0,DY=A+4 I $E(IOST)="C" X IOXY
  1. QUIT
  1. END K FY,BFY,EFY,CFY,AFY,NX,MX,ZERONODE,FLAG,X,Y,TREC,CREC,LREC,XPOS,DX,CY,MOP,ARCBIT,DIC,DLAYGO,A,N,M,PERCENT
  1. QUIT
  1. ;
  1. PERCENT ;
  1. S PERCENT=XCOUNT/TREC*100\1
  1. F Q:PERCENT'>CREC I PERCENT>CREC D
  1. . W:$E(IOST)="C" CURSOR S XPOS=XPOS+1
  1. . DO
  1. . . W !,XCOUNT," of ",TREC," processed. ",$J((PERCENT/1),0,0),"% complete "
  1. . . S TIME=$P($H,",",2)
  1. . . S:BTIME>TIME TIME=TIME+86400
  1. . . S TIME=TIME-BTIME D TIME(TIME)
  1. . . W:$E(IOST)="C" !
  1. . . W:HOURS HOURS," Hours, "
  1. . . W MIN," Minutes, ",SEC," Seconds elapsed. "
  1. . . I PERCENT<50 D QUIT
  1. . . . S DX=XPOS,DY=A
  1. . . . I $E(IOST)="C" X IOXY
  1. . . . QUIT
  1. . . S TTIME=TIME/(PERCENT*.01),RTIME=TTIME-TIME
  1. . . S RTIME=$P(RTIME,".")
  1. . . S HOURS=0,MIN=0
  1. . . I RTIME>3600 S HOURS=RTIME\3600,RTIME=RTIME#3600
  1. . . S MIN=RTIME\60,SEC=RTIME#60
  1. . . W:$E(IOST)="C" ! W:HOURS HOURS," Hours, "
  1. . . W MIN," Minutes, ",SEC," Seconds, remaining. "
  1. . . S DX=XPOS,DY=A
  1. . . I $E(IOST)="C" X IOXY
  1. . . QUIT
  1. . S CREC=CREC+$S($E(IOST)="C":1.25,1:5)
  1. . QUIT
  1. QUIT
  1. TIME(X) ;
  1. S HOURS=0,MIN=0,SEC=0
  1. I X>3600 S HOURS=X\3600,X=X#3600
  1. S MIN=X\60,SEC=X#60
  1. Q