SELECT Comision lnRecno = RECNO() && Dunno what for local laArrChk [1], lnRun, lnCheck, llSeekfnd, lcMess lnCheck = 10 SELECT SUM(rate*SHARE/10000) AS crate, count(*) ; WHERE inv_no+salesman = m.ccinv + m.Slsman ; FROM comision INTO ARRAY laArr if laArr[1,2]>0 if laArr[1,2]<=6000 SELECT ; Recno(), inv_no, salesman, rate, SHARE ; , inv_no+salesman, m.ccinv + m.Slsman ; , Len(inv_no+salesman), Len(m.ccinv + m.Slsman) ; WHERE inv_no+salesman = m.ccinv + m.Slsman ; FROM comision INTO ARRAY laArrChk assert _tally=laArr[1,2] else SELECT top m.lnCheck ; Recno(), inv_no, salesman, rate, SHARE ; , inv_no+salesman, m.ccinv + m.Slsman ; , Len(inv_no+salesman), Len(m.ccinv + m.Slsman) ; WHERE inv_no+salesman = m.ccinv + m.Slsman ; FROM comision INTO ARRAY laArrChk endif endif SELECT Comision SET ORDER TO com_inv IN comision IF SEEK(m.ccinv + m.Slsman) SUM (rate*SHARE/10000) TO cRate WHILE inv_no+salesman = m.ccinv + m.Slsman llSeekfnd = .t. ELSE cRate = 0 endif lcRate = EVL(laArr[1],0) IF NOT m.cRate = m.lcRate =MESSAGEBOX("Found a mismatch on " + m.ccinv + ":" + m.Slsman) lcMess = "Found a mismatch on " + m.ccinv + m.Slsman + " cRate = " + ; TRANSFORM(m.cRate) + " laArr[1]= " + TRANSFORM(m.lcRate) _cliptext = _cliptext + m.lcMess =File_Log(m.lcMess ; + " Cnt:" + TRANSFORM(laArr[1,2]) + " Fnd:" + TRANSFORM(m.llSeekfnd) + Chr(13)+chr(10)) for lnRun = 1 to min(alen(laArrChk, 1), m.lnCheck) =File_Log(":1:" + Transform(laArrChk[m.lnRun, 1]) ; +":2:" + Transform(laArrChk[m.lnRun, 2]) ; +":3:" + Transform(laArrChk[m.lnRun, 3]) ; +":4:" + Transform(laArrChk[m.lnRun, 4]) ; +":5:" + Transform(laArrChk[m.lnRun, 5]) ; +":6:" + Transform(laArrChk[m.lnRun, 6]) ; +":7:" + Transform(laArrChk[m.lnRun, 7]) ; +":8:" + Transform(laArrChk[m.lnRun, 8]) ; +":9:" + Transform(laArrChk[m.lnRun, 9]) ; +Chr(13)+chr(10)) next ENDIFregards