RBWin 6.x

Recent posts from Dr R (I believe), recommended that initializing VARs
should be done outside the While loop. I've done that and also always have:
Set WhileOpt OFF. But, the following While Loop gets bumped out in an EEP
whereas the IF/Endif is fine. (This code checks user enters a valid date.)

Example 1.

  SET VAR vdate = (CTXT(.#date))
  SET VAR vcdate DATE
  SET VAR verr = 1
  WHILE verr <> 0 THEN
    DIALOG "Set Completion Date to:" vdate=9 vlast 1 AT 12
    IF vlast = "[ESC]" OR vdate IS NULL THEN
      RETURN
    ENDIF
    SET VAR vcdate = .vdate
    SET VAR verr = .vderr
  ENDW

Example 2.

  SET VAR vdate = (CTXT(.#date))
  SET VAR vcdate DATE
  LABEL AGAIN1
  DIALOG "Set Completion Date to:" vdate=9 vlast 1 AT 12
  IF vlast = "[ESC]" OR vdate IS NULL THEN
    RETURN
  ENDIF
  SET VAR vcdate = .vdate
  SET VAR verr = .vderr
  IF verr <> 0 THEN
    GOTO Again1
  ENDIF

>>>>>>>>>


Later in the EEP, there is another While Loop which works fine:

 SELECT COUNT (*) INTO xparts FROM wref WHERE tk_nbr = .tknbr
 WHILE xparts > "0" THEN
   SET VAR prnbr = pr_nbr, prqty = pr_qty IN wref WHERE tk_nbr = .tknbr +
   AND COUNT = .xparts
   SET VAR prunitp = pr_unitp IN parts WHERE pr_nbr = .prnbr
   INSERT INTO tract VALUES +
   "IS" .tksdate .prnbr .prqty .prunitp .eqnbr .xtrpo .eqacct .cfid
   SET VAR xparts = (.xparts - 1)
 ENDW 
....

Any help or ideas are appreciated.

Dennis
*****
Dennis Fleming
IISCO
http://www.TheBestCMMS.com

Reply via email to