CREATE CURSOR aTmpData (; nBegin I, ; NADDS I, ; nNew I, ; nRein0 I, ; nRein30 I, ; nrein90 I, ; nrein91 I, ; nrein181 I, ; nterms I, ; nLOE I, ; nRiteShare I, ; nOther I, ; nEnd I, ; nSwitchout I) APPEND blank SELECT SUM(aTmpData.nBegin), ; SUM(aTmpData.NADDS),; SUM(aTmpData.nNew) , ; (aTmpData.nRein0 + ; aTmpData.nRein30 + ; aTmpData.nrein90 + ; aTmpData.nrein91 + ; aTmpData.nrein181) as total, ; SUM(aTmpData.nRein0), ; SUM(aTmpData.nRein30), ; SUM(aTmpData.nrein90), ; SUM(aTmpData.nrein91), ; SUM(aTmpData.nrein181), ; SUM(aTmpData.nterms), ; SUM(aTmpData.nLOE), ; SUM(aTmpData.nRiteShare), ; SUM(aTmpData.nOther), ; SUM(aTmpData.nEnd), ; SUM(aTmpData.nSwitchout) ; FROM aTmpData ; group by total SELECT SUM(aTmpData.nBegin), ; SUM(aTmpData.NADDS),; SUM(aTmpData.nNew) , ; (aTmpData.nRein0 + ; aTmpData.nRein30 + ; aTmpData.nrein90 + ; aTmpData.nrein91 + ; aTmpData.nrein181) as total, ; SUM(aTmpData.nRein0), ; SUM(aTmpData.nRein30), ; SUM(aTmpData.nrein90), ; SUM(aTmpData.nrein91), ; SUM(aTmpData.nrein181), ; SUM(aTmpData.nterms), ; SUM(aTmpData.nLOE), ; SUM(aTmpData.nRiteShare), ; SUM(aTmpData.nOther), ; SUM(aTmpData.nEnd), ; SUM(aTmpData.nSwitchout) ; FROM aTmpData ; group by aTmpData.nRein0,aTmpData.nRein30,aTmpData.nrein90,aTmpData.nrein91,aTmpData.nrein181Thanks,