You are missing a second fetch statement.  Also, the if-endif stuff is
unnecessary.
This is cleaner

Terry

DRO CUR C1
DECLARE C1 CURSOR FOR  SEL DISTINCT Cust FROM AuditCharge
OPEN C1
FETCH C1 INTO vcust vicust
WHILE SQLCODE <> 0 THEN
         SEL SUM (SubTot+TaxAmt) INTO vUnPd IND v1 FROM ApplyPay WHERE Cust
= .vCust
         SEL SUM (PaymentAmt-PaymentUsed) INTO vUaPay IND v1 FROM ApplyPay
WHERE
         MethType IN (240 242 250)   AND Cust = .vCust
         SET V vCurBal = (.vUnPd-.vUaPay)
         UPDATE Cust SET CurBal = .vCurBal WHERE Cust = .vCust
        FETCH C1 INTO vcust vicust
ENDIF
DRO CUR C1

----- Original Message -----
From: Frank Radice <[EMAIL PROTECTED]>
To: RBASE mailing list (E-mail) <[EMAIL PROTECTED]>
Sent: Friday, April 27, 2001 7:07 PM
Subject: While loop problem


> I have a client that has the following code:
>
> DECLARE C1 CURSOR FOR  SEL DISTINCT Cust FROM AuditCharge
> OPEN C1 RESET
> SET V vTest INT=NULL
> WHILE vTest IS NULL THEN
>    FETCH C1 INTO vCust IND v1
>    IF SQLCODE = 100 THEN
>       SET V vTest = 1
>       GOTO ALLDONE
>    ENDI
>    WRI .vCust AT 22 29



Reply via email to