FW: Index problem

John Esak john at valar.com
Tue May 25 11:56:56 PDT 2010


(sorry didn't send this to thw whole list) 

-----Original Message-----
From: John Esak [mailto:john at valar.com] 
Sent: Tuesday, May 25, 2010 2:56 PM
To: 'Richard Kreiss'
Subject: RE: Index problem

How do you separate the difference between "not cst" (which is no records in
this file using this key and less than)  and cst(1) lt t_num _ "1"

These are such different conditions, wouldn't you want to fork the results
differently based on the two different conditions??

JOhn


> -----Original Message-----
> From: Richard Kreiss [mailto:rkreiss at verizon.net] 
> Sent: Tuesday, May 25, 2010 2:29 PM
> To: john at valar.com; filepro-list at lists.celestial.com
> Subject: RE: Index problem
> 
> Top post:
> Method 1: Menu command - /fp/rclerk cstrack -s1 -xa -d
> 
> Method 2: from system call marketing input program @key command
>      Then: sy="rclerk cstrack -s1 -xa -z enter -d -lx -rw 
> market"<"-rx"<patient_code<"-ry"<master_code
> 	If:
> 	Then: system sy
> 
> As entering a tracking record from marketing requires no 
> update programming, this program is smaller and only allow 
> for the initial entry of a record.
> 
> Here is the code which causes the error at line 78.  When the 
> index is rebuilt, everything works fine.
> 
>        ? If:
>        Then: lookup mast = l_master  r=rn   -np
>  74  -------   -   -   -   -   -   -   -   -   -   -   -   -  
>  -   -   -   -
>        ? If:         NOT mast
>        Then:         GOTO get_trk
>  75  -------   -   -   -   -   -   -   -   -   -   -   -   -  
>  -   -   -   -
>        ? If:         mast(23) = "" or mast(23)="9999999"
>        Then:         mast(23)="1000"
>  76  -------   -   -   -   -   -   -   -   -   -   -   -   -  
>  -   -   -   -
>        ? If:
>        Then:         t_num=mast(23);date_entered=@t4
> 77  -------   -   -   -   -   -   -   -   -   -   -   -   -   
> -   -   -   -
> lok_trk? If: t_num = ""
>        Then: t_num="9999999"
>  78  -------   -   -   -   -   -   -   -   -   -   -   -   -  
>  -   -   -   -
>        ? If:
>        Then: lookup cst = cstrack  k=(t_num)    i=G -nL
>  79  -------   -   -   -   -   -   -   -   -   -   -   -   -  
>  -   -   -   -
>        ? If:         NOT cst or cst(1) le t_num -"1"
>        Then:         
> tracking_num=t_num;mast(23)=t_num+"1";write mast;display;END
>  80  -------   -   -   -   -   -   -   -   -   -   -   -   -  
>  -   -   -   -
>        ? If:
>        Then:         t_num=t_num+"1"
>  81  -------   -   -   -   -   -   -   -   -   -   -   -   -  
>  -   -   -   -
>        ? If:
>        Then: GOTO lok_trk
> 
> Hope this is helpful.
> 
> Richard
> 
> 
> > -----Original Message-----
> > From: John Esak [mailto:john at valar.com]
> > Sent: Tuesday, May 25, 2010 1:57 PM
> > To: 'Richard Kreiss'; filepro-list at lists.celestial.com
> > Subject: RE: Index problem
> > 
> > Sorry Richard,
> > 
> > Not nearly enough info.  Or , at least, you are referring 
> to things as if we
> > know them as you know them. For example, you say records 
> are to be added
> > using a system?  You must mean something like records are 
> added to this file
> > using a SYSTEM command somehow?  But how?  If so, does that 
> SYSTEM call run
> > a process that somehow adds a record to this file?  That's 
> all a little
> > vague. Also, the bit about doing a lookup from AUTO to 
> check if there is a
> > record or not... Actually, can't tell anything from that 
> other than it
> > sounds innocuous.
> > 
> > You say the program called enter is run from a menu 
> command.  By this to you
> > mean it is run from a filePro menu command line that runs 
> either a report
> > process or a clerk process that somehow adds a record?  Or 
> do you mean a
> > menu command in processing where the user picks something 
> off a processing
> > generated menu. All this is critically important to 
> understanding what might
> > be going wrong, and you're leaving too much to our imagination.
> > 
> > My suggestion is to break down the main process for this 
> file only  and show
> > the exact code that adds the records to it. Or, if they are 
> only added
> > through that "enter" process, that code... And how it is called.
> > 
> > However, without hearing anything more, my gut feeling is 
> the main problem
> > of corrupting an index (which is actually very hard to do 
> in filePro) most
> > probably has something to do in or about the code you mention below.
> > 
> > > My problem is that lately the primary key index is going bad.
> > >  The program
> > > get the next tracking number from a master record and checks
> > > the current
> > > file to see if that number has been used.
> > 
> > My very first thought is how in the world are you locking 
> the retrieved
> > number long enough to do the test of its "uniqueness", then 
> dealing with
> > that number whether it has or hasn't, and releasing and 
> re-applying the lock
> > on the numbers record after you have either incremented it 
> or not.  All this
> > sounds really slippery and the likely point in which users 
> are retrieving
> > numbers you don't want them to get.  Still, I must admit I 
> don't see how it
> > would corrupt an index built on numbers retrieved... No 
> matter how you got
> > them.  I just think it's an important place to look when 
> diagnosing this
> > issue.
> > 
> > Good luck.
> > 
> > John
> > 
> > 
> > 
> > > -----Original Message-----
> > > From: filepro-list-bounces+john=valar.com at lists.celestial.com
> > > [mailto:filepro-list-bounces+john=valar.com at lists.celestial.co
> > m] On Behalf Of Richard Kreiss
> > > Sent: Tuesday, May 25, 2010 12:29 PM
> > > To: filepro-list at lists.celestial.com
> > > Subject: Index problem
> > >
> > > FP 5.6.10 windows, Server 2008
> > >
> > > I have a file which adds records either using input
> > > processing, which is
> > > called from a menu command and a program called enter.  Enter
> > > us executed
> > > when the record is to be added from another file using a system.
> > >
> > > My problem is that lately the primary key index is going bad.
> > >  The program
> > > get the next tracking number from a master record and checks
> > > the current
> > > file to see if that number has been used.
> > >
> > > Both yesterday and twice today the index had to be rebuilt.
> > > This causes a
> > > problem as the primary marketing file access information from
> > > this file and
> > > no records can be added to this file.
> > >
> > > The error message is lookup failed on line NN (either 176 for
> > > input or 79
> > > for enter).
> > >
> > > Any suggestions as to what might cause this problem.  There
> > > is no data being
> > > posted to this file from anywhere other than the file itself.
> > >  The only
> > > lookup is in auto processing of the marketing to set a
> > > yes/no variable if a
> > > record exists in this file.
> > >
> > > All update after a record has been added is from a menu
> > > command to that
> > > file.
> > >
> > >
> > > Richard Kreiss
> > > GCC Consulting
> > > rkreiss at gccconsulting.net
> > >
> > >
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Filepro-list mailing list
> > > Filepro-list at lists.celestial.com
> > > http://mailman.celestial.com/mailman/listinfo/filepro-list
> > >
> 
> 
> 



More information about the Filepro-list mailing list