>Case Case Item Item >From To ID Qty. > 1 1 ABC 5 > 1 1 DEF 5 > 2 3 GHI 45 > 4 4 JKL 3 >>
>Case Item Item >No ID Qty. > 1 ABC 5 > 1 DEF 5 > 2 GHI 45 > 3 GHI 45 > 4 JKL 3 >>
Select From,To, ItemID, ItemQty ; From myTable ; Order By From,To,ItemID ; Into Cursor crsTemp Create Cursor crsResult (CaseNo i, ItemID c(3), ItemQty i) Local array arrRecs[Floor(65000/3),3] Local lnRec, ix lnRec = 0 Select crsTemp Scan For ix=crsTemp.From To crsTemp.To lnRec = lnRec + 1 arrRecs[lnRec,1] = ix arrRecs[lnRec,2] = crsTemp.ItemID arrRecs[lnRec,3] = crsTemp.ItemQty If lnRec >= floor(65000/3) Insert Into crsResult from array arrRecs lnRec = 0 endif Endfor EndScan Dimension arrRecs[lnRec,3] Insert Into crsResult from array arrRecs Use In 'crsTemp' Select crsResult BrowsNote that array is used to speed up insertion (indiviual inserts would be much slower).