Well,

Apparantly the problem was a "" item ID was in the file.

Also, in looking at this example (not expecting a blank Item ID)

> > SELECT FILENAME
> > LOOP
> >    READNEXT ID ELSE EXIT
> > WHILE ID DO
> >    CODE
> >    CODE with GOSUB
> >    CODE
> >    CODE
> > REPEAT
>
>
> SELECT FILENAME
> LOOP WHILE READNEXT ID
>   CODE...
>   CODE with GOSUB
>   CODE
>   CODE
> REPEAT
>

These two example are not the same. The second example would not have ended the
loop, since the While is testing the status of the READNEXT action, whereas the
original coding (top example), the While is testing the status of ID variable.

What we really needed was:

SELECT FILENAME
LOOP WHILE READNEXT ID
   IF NOT(ID) THEN CONTINUE
   CODE....
REPEAT

RAID was quite helpful, especially with having the program be able to trigger
jumping into it, then being able to single step through the program, and query
the values of the variables.

At least now I know why removing the WHILE/DO statement "fixed" the problem,
although it actually didn't fix it, but rather allowed a corrupt record to
pass throught the body of the program (which could have been worse than having
it stop short. Although it would have been better if an error message was
displayed...ie. "Item ID not of expected length '":@ID:"'" ; INPUT XX: ; 
CONTINUE

But, those are the joys you can get sifting through multiple programmer
Code.

George

> -----Original Message-----
> From: [email protected] [mailto:owner-u2-
> [email protected]] On Behalf Of Jacques G.
> Sent: Friday, February 27, 2009 12:27 PM
> To: [email protected]
> Subject: Re: [U2] Strange happening...
>
> In the example of code you have, the loop will exit if your key
> (variable ID) is equal to an empty string or a string that can be
> evaluated to zero for example values like these:
> 0E1,0E10, 0E100  (on Universe)
> "" (empty string)
> 0000
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to