Marc
I suppose it's the problem of DELETE DUPLICATES which is not removing every double line (perhaps Null-values?). Do you have the chance to change DELETE DUPLICATES to check some unique rows like DELETE DUPLICATES FROM tran_daily USING custnum, date, modf4 ? Regards Adrian _____ From: Marc [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 26, 2008 3:38 PM To: [email protected] Subject: [RBASE-L] - How can make this code better ? Hi Out of 100 offices this has happened only about 6 times in a year. I think it is from computer hiccups but I am wanting to make my code as tight as possible. Basically we put charges and payments in a Tran_daily file. At the end of the day if everything is correct we Close the day, do some updates, move the charges and payments to the Tran_Hist table and summaries the totals in a Recap table with the date on it, then delete the Tran_daily rows. About 90% of the rows from the Tran_daily table got copied (inserted) into the Tran_Hist table twice for 2/8/08. This office has used my app for 10 years and this is the first time it has happened to them. I told them if the same code works 99% of the time and one day screws up it is not the code/RBase it is a computer quirk. Below is a summary of the code, is there a better way to do this or trap for errors? Sorry this is so long Marc DELETE DUPLICATES FROM tran_daily --so this should have stopped the dups in the Hist SET VAR vdaycnt INTEGER = NULL SELECT COUNT (*) INTO vdaycnt FROM tran_daily SET VAR vhistcnt INTEGER = NULL SELECT COUNT (*) INTO vhistcnt FROM tran_hist -- copy tran_daily TO tran_hist INSERT + INTO tran_hist (custnum,date ......... + ................,modf4 FROM tran_daily SET VAR vhistcnte INTEGER = NULL SELECT COUNT (*) INTO vhistcnte FROM tran_hist IF vhistcnte <> (.vdaycnt + .vhistcnt) THEN PAUSE 1 USING 'Some data was not copied to the History file ' ENDIF if this poped up they didn't remember it *(insert RECAP FILE WITH TOTALS FOR DAY) INSERT INTO recap (............ , tptpay,+ VALUES (.vdate, ................ '1',.vtvisa) DELETE ROWS FROM tran_daily SET VAR vrecapchar CURRENCY = 0.00 SET VAR vrecappay CURRENCY = 0.00 SET VAR vrecapchar CURRENCY = tcharges IN recap WHERE COUNT = LAST SET VAR vrecappay CURRENCY = tpayment IN recap WHERE COUNT = LAST IF tcharge = .vrecapchar AND totpay = .vrecappay THEN PAUSE 1 USING 'Finished Recap Created' ICON confirm .... ELSE PAUSE 1 USING + 'Recap DID NOT match Check the Recap and use a Backup if necessary' + ICON SERIOUS BUTTON 'OK' OPTION BACK_COLOR 65535 | ...+ if this poped up they didn't remember it ENDIF RECALC VARIABLES RETURN

