Getnext question

Don Coleman dcoleman at dgcreact.com
Mon Apr 3 12:32:46 PDT 2006


I have the following input processing which uses @KEY to generate
prescription labels using getnext.  This app. was running fine until March
24.  There is nothing that was changed with regard to this @KEY routine that
I can think of (or see).  However, there were several additional @KEY
routines added since March 24.  The @KEY routine in question does find the
first prescription correctly but fails all subsequent lookups & tests for
variables CC & CD.  Yet If I enter the same exact search data via *clerk it
finds each and every match.  It seems that the index is failing by actually
finding entries that come before the ones desired.  I have rebuild the
indexes, removed and recreated the indexes, confirmed that the variables
used in the lookup are the exact same length & edit type as those real
fields used in the index.  I have also confirmed that all variables defined
in the automatic table are identical (length & edit type) to those in this
table.  Does anyone see a problem that I am overlooking?

Apr  3, 2006  15:14           File Name: QS1                       Page   1
                             Processing: pqueue

   5 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
@keyl    If: AA ne ""
       Then: goto ready
   6 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: INPUTPW POPUP AA(10,ALLUP,g) "\r Enter password or press
<ENTER> to
              exit: \r "
   7 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: AA eq ""
       Then: exit
   8 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: lookup rph  k=AA   i=B -nx
   9 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: not rph
       Then: beep;msgbox "\r Invalid password ";exit
  10 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: AB=rph(1)
  11 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
ready    If: AC eq ""
       Then: INPUT POPUP AC(9,.0,g) "\r Scan Rx label queue ID#: \r "
  12 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: AC eq ""
       Then: end
  13 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: INPUT POPUP AD(13,*,g) "\r Scan Medication NDC: \r "
  14 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: AD eq ""
       Then: end
  15 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: ZE(3,.0,g)="1";CC(8,*,g)=""{AC{"";CD(11,*,g)=""{AD{""
  16 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: lookup ndc = crossndc  k=AD   i=A -nx
  17 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: not ndc
       Then: goto nocross
  18 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: AD=ndc(1);AE=CC&CD;goto gotcros
  19 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
nocross  If: 
       Then: AE(19,*,g)=CC&CD
  20 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
gotcros  If: 
       Then: PRINTER TYPE "I-4308";putenv
"PFPOSTPRINT","C:\PRINTWIZ\PRINTWIZ.EX
             E /P\"I-4308T2\" C:\PRINTWIZ\HARDCOPY.TXT"
  21 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: lookup pqu = pqueue  k=AE   i=A -npx
  22 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
morerx   If: not pqu
       Then: end

Apr  3, 2006  15:14           File Name: QS1                       Page   2
                             Processing: pqueue

  23 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: not pqu
       Then: end
  24 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: CC ne pqu(8) or CD ne pqu(4)
       Then: end
  25 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: pqu(9) eq "Y"
       Then: getnext pqu;goto morerx
  26 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: BA(8,*,g)=pqu(1);BB(5,.0,g)=pqu(5);EH(5,.0,g)=pqu(5)
  27 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
immedrx  If: 
       Then: lookup -  k=BA   i=A -nx
  28 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: not -
       Then: beep;msgbox "\r Rx #"<BA<"not found in active file";getnext
pqu;got
             o morerx
  29 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: '49 lt "2"
       Then: 'beep;msgbox "\r Rx #"<1<"station less than 2";getnext pqu;goto
mor
             erx
  30 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: lookup req = labelreq  k=9    i=A -nx
  31 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: not req
       Then: beep;msgbox "\r Invalid patient group for Rx #"<1;getnext
pqu;goto 
             morerx
  32 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "10" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\10";PRINTER FILE
"C:\PRINTWIZ\HARDCOP
             Y.TXT";goto finish
  33 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "11" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\11";PRINTER FILE
"C:\PRINTWIZ\HARDCOP
             Y.TXT";goto finish
  34 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "12" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\12";PRINTER FILE
"C:\PRINTWIZ\HARDCOP
             Y.TXT";goto finish
  35 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "13" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\13";PRINTER FILE
"C:\PRINTWIZ\HARDCOP
             Y.TXT";goto finish
  36 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "14" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\14";PRINTER FILE
"C:\PRINTWIZ\HARDCOP
             Y.TXT";goto finish
  37 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "99" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\99";PRINTER FILE
"C:\PRINTWIZ\HARDCOP
             Y.TXT";goto finish
  38 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 'req(9) eq "99" and 25 gt "0"
       Then: 'CALL "C:RXPRISON\FILEPRO\QS1\99";PRINTER FILE
"C:\PRINTWIZ\HARDCOP
             Y.TXT";goto finish
  39 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "9" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\9";PRINTER FILE
"C:\PRINTWIZ\HARDCOPY
             .TXT";goto finish
  40 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "1" and 25 gt "0"       
             Then: CALL "E:\QS1\TODO\FILEPRO\QS1\1";PRINTER FILE
"C:\PRINTWIZ\HARDCOPY
             .TXT";goto finish



April 3, 2006  15:14           File Name: QS1                       Page   3
                             Processing: pqueue

  41 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "2" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\2";PRINTER FILE
"C:\PRINTWIZ\HARDCOPY
             .TXT";goto finish
  42 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "3" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\3";PRINTER FILE
"C:\PRINTWIZ\HARDCOPY
             .TXT";goto finish
  43 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "4" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\4";PRINTER FILE
"C:\PRINTWIZ\HARDCOPY
             .TXT";goto finish
  44 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "5" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\5";PRINTER FILE
"C:\PRINTWIZ\HARDCOPY
             .TXT";goto finish
  45 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "6" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\6";PRINTER FILE
"C:\PRINTWIZ\HARDCOPY
             .TXT";goto finish
  46 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: req(9) eq "7" and 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\7";PRINTER FILE
"C:\PRINTWIZ\HARDCOPY
             .TXT";goto finish
  47 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 25 gt "0"
       Then: CALL "E:\QS1\TODO\FILEPRO\QS1\LABEL";PRINTER FILE
"C:\PRINTWIZ\HARD
             COPY.TXT"
  48 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
finish   If: 
       Then: lookup pqu = pqueue  k=BA   i=C -npx
  49 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: not pqu
       Then: beep;msgbox "\r Rx #"<BA<"NOT in batch queue";goto notque
  50 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: pqu(9)="Y";write pqu
  51 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
notque   If: 
       Then: 57=AB;60=BB;58=@TD;59=@TM;49="2"
  52 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 100 lt "2"
       Then: 100="2"
  53 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: write
  54 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: lookup det = qs1det  r=free  -n
  55 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: not det
       Then: beep;msgbox "\r QS/1DET FILE UNAVAILABLE";getnext pqu;goto
morerx
  56 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: det(1)=BA;det(2)="3";det(3)=@TD;det(4)=@TM;det(5)=AB;det(6)=BB
  57 -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
         If: 
       Then: det(7)="L";write det;getnext pqu;goto morerx



Don Coleman
Donald G. Coleman, Consultant
402 Andrew Circle
Indiana, PA 15701
dcoleman at dgcreact.com
(724) 349-6302





More information about the Filepro-list mailing list