>I have a cursor called cpayment with 3 records. The cpay_flag is .t. and cpay_schdate has a date in all 3 records. When I run the following code it only loops through one record, not all 3. If I comment out the replace cpay_schdate with {} and replace cpay_flag with .f. the SCAN will loop through all records. Now I know whats causing the problem but I don't understand why.
>
Paul,
Try this;
select cpayment
LOCAL lcOrder
lcOrder = ORDER()
SET ORDER TO 0
SCAN FOR ((cpay_flag = .t.) and (!empty(cpay_schdate)))
replace cpay_schdate with {}
replace cpay_flag with .f.
if !cpay_update = 'D' then
replace cpay_update with "C"
endif
replace cpay_amt with 0.00
ENDSCAN
IF NOT EMPTY( lcOrder )
SET ORDER TO &lcOrder
ENDIF