- lookup question

Bruce Easton bruce at stn.com
Fri Jul 19 09:12:07 PDT 2013


Richard, for a record number lookup, I believe the only way to speed 
things up for this case would be if you always had a saved record number 
"99999999" on file (not deleted).  Alternatively, you could keep an 
automatic index built on @rn for that file and then use  "lookup   -  
k=nr  i=?  -nl", where ? is the index letter built on @rn, to skip to 
the end.

Bruce

On 7/19/13 11:21 AM, Richard Kreiss wrote:
> I have a routine that uses a - lookup using a record number.  The record numbers to use are located in a file which the -v selection process reads in to an array and then loops through the array to select the record.
>
> When the loop hits an empty array element I set the lookup value to "99999999" but the process continues to run through all of the records.
>
> Is there any way, using a record number lookup in a select process to have the selection end without running through all of the records?
>
> Processing below:
>
> Richard Kreiss
> GCC Consulting
>
> Office: 410-653-2813
>
> 8  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>        ◄ If:
>        Then: dim recno(2000)(8,.0)
>   9  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>        ◄ If: ct = ""
>        Then: ct(2,.0,g)="1";rn(8,.0) ="1";GOSUB get_num
> 10  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>        ◄ If: recno[ct] ge "1"
>        Then: nr=recno[ct]
> 11  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>        ◄ If: recno[ct] = ""
>        Then: nr(8,.0,g)="99999999"
> 12  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>        ◄ If:
>        Then: lookup -  r=nr   -n
> 13  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>        ◄ If:         not -
>        Then:        END
> 14  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>        ◄ If:
>        Then:         select;SHOWTOCOL("10","50") "Records Selected"<ct
> 15  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>        ◄ If:
>        Then:         select;ct=ct+"1"
> 16  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>        ◄ If:
>        Then: END
> 17  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
> get_num◄ If: '***************************************************************
>        Then: '* read in values from fix_cards
> 18  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>        ◄ If:
>        Then: dim rifka(2);ro(2,.0)="2"; cl(2,.0)="1"
> 19  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:
>         Then: CLS("1","4");SHOWCTR("1") "Reposting Transactions"
>   20  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:
>         Then: rifka["1"]="Select Option"
>   21  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:
>         Then: rifka["2"]="1: Begin"
>   22  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:
>         Then: menu rifka begin,done
>   23  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
> done   ◄ If:
>         Then: EXIT
>   24  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
> begin  ◄ If:
>         Then:
> 25  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:
>         Then: input popup dw(10,mdyy/) "Enter Date Wanted\nPress \kZ for \r"<@t4<"\r -> "
>   26  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:         @sk = "BRKY"
>         Then:         GOTO get_num
>   27  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:         dw = ""
>         Then:         dw=@t4
>   28  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If: '* index C is built on date and record #
>         Then: lookup xcard = fix_cards  K=dw   i=C -Nx
>   29  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
> loop_xc◄ If:         NOT xcard and ct = "1"
>         Then:         END
>   30  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:         NOT xcard and ct gt "1"
>         Then:         ct="1";RETURN
> 31  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:
>         Then:         recno[ct]=xcard(2)
>   32  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:
>         Then:         SHOW(ro,cl) recno[ct]
>   33  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:         cl le "72"
>         Then:         cl=cl+"9"
>   34  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:         cl gt "73"
>         Then:         ro=ro+"1";cl="1"
>   35  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:         ro ge "20"
>         Then:         ro="2";cl="1";CLS ("2","18")
>   36  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>         ◄ If:         ct gt "2000"
>         Then:         ct="1";RETURN
> 37  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>        ◄ If:         ct lt "2000"
>        Then:         ct=ct+"1";GETNEXT XCARD
> 38  -------   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
>        ◄ If:
>        Then: goto LOOP_XC
> _______________________________________________
> Filepro-list mailing list
> Filepro-list at lists.celestial.com
> Subscribe/Unsubscribe/Subscription Changes
> http://mailman.celestial.com/mailman/listinfo/filepro-list




More information about the Filepro-list mailing list