James, the only safe way to exit a loop is using BREAK. A RETURN inside a WHILE loop is an accident waiting to happen. Without seeing all your code, It is possible that you could use the following WHILE statement:
WHILE SQLCODE <> 100 AND vEscape <> 'T' THEN You could also use an IF;ELSE;ENDIF inside the loop to skip over the code you don't want to run. --- James Hageman <[EMAIL PROTECTED]> wrote: > But that would just put me outside the while loop and I don't want any > more code to run if I BREAK out of the while loop. > > I could do this, put the same IF/ENDIF inside and outside of the while > loop but it seems silly. > > WHILE ... > IF vescape = 'T' THEN > BREAK > ENDIF > ENDWHILE > IF vescape = 'T' THEN > return > ENDIF > other code .... > > > > > > > > Albert Berry wrote: > > >I believe you would be safer if you replaced part of the code with 'BREAK' > > > >DECLARE c1 SCROLL CURSOR FOR SELECT ... > >OPEN c1 > >WHILE SQLCODE <> 100 THEN > > FETCH c1 INTO ... > >-- This has already been covered in the WHILE ... > >-- IF SQLCODE = 100 THEN > >-- BREAK > >-- ENDIF > > INSERT INTO ... > > EDIT USING ... > >-- At this point, a BREAK would be cleaner > > IF vescape = 'T' THEN > > BREAK > > ENDIF > > > >ENDWHILE > >CLEAR ALL V > >DROP CURSOR c1 > >RETURN <-- THIS OK? > > > > > >--- James Hageman <[EMAIL PROTECTED]> wrote: > > > > > > > >>The following code runs with no errors but I am wondering if it's Kosher. > >>Specificaly if vescape = 't' and I return to the form that calls the eep > >>in the middle of the while loop is that going to cause problems for me > >>later? > >> > >>---------------------------------------------------------------- > >>--other code blah blah > >>-- > >>DECLARE c1 SCROLL CURSOR FOR SELECT ... > >>OPEN c1 > >>WHILE SQLCODE <> 100 THEN > >> FETCH c1 INTO ... > >> IF SQLCODE = 100 THEN > >> BREAK > >> ENDIF > >> INSERT INTO ... > >> EDIT USING ... > >> > >> IF vescape = 'T' THEN > >> CLEAR ALL V > >> DROP CURSOR c1 > >> RETURN <-- THIS OK? > >> ENDIF > >> > >>ENDWHILE > >>DROP CURSOR c1 > >> > >>--other code follows that I don't want run if VAR vescape = 'T' > >>... > >>... > >>... > >>return > >>--eof--------------------------------------------------------- > >> > >> > >> > >> > > > > > >Albert Berry > >Management Consultant > >RR2 - 1252 Ponderosa Drive > >Sparwood BC, V0B 2G2 > >Canada > >(250) 425-5806 > >(250) 425-7259 > >(708) 575-3952 (fax) > >[EMAIL PROTECTED] > > > > > > > > Albert Berry Management Consultant RR2 - 1252 Ponderosa Drive Sparwood BC, V0B 2G2 Canada (250) 425-5806 (250) 425-7259 (708) 575-3952 (fax) [EMAIL PROTECTED]
