Table SiMain SiNo PCode SalesMan ... 1 1 Peter 2 2 George .... *Table SisUb SiNo ICode QntyMin QntyMaj RateMin RateMaj ... 1 1 1 100 1 20 1 2 1 50 1 11 2 1 0 70 1 30 2 2 1 25 1 35 .... *Table PCode PCode PName 1 Some goods 2 Other goods .... *Table ICode ICode Full_Desc 1 Item 1 2 Item 2 .... SELECT SiMain.*, SisUb.ICode, SisUb.qntymaj, SisUb.qntymin, SisUb.RateMaj, SisUb.RateMin,; PCode.PName, Icode.full_desc; FROM SiMain; RIGHT JOIN SisUp ON SiMain.SiNo == SisUp.SiNo; LEFT JOIN PCode ON SiMain.PCode == PCode.PCode; LEFT JOIN Icode ON SisUp.Icode == Icode.Icode; WHERE BETWEEN(Simain.Invdate, mdt1, mdt2) .AND.; UPPER(Simain.Salesman) == UPPER(msalesman) .AND.; Simain.PCode == mpcode; INTO CURSOR cTest *Cursor cTest SiNo PCode PName ICode Full_Desc QntyMin QntyMaj RateMin RateMaj Salesman 1 1 Some Goods 1 Item 1 1 100 1 20 Peter 1 2 Other Goods 2 Item 2 1 50 1 11 Peter 2 1 Some Goods 1 Item 1 0 70 1 30 George 2 2 Other Goods 2 Item 2 1 25 1 35 GeorgeHow You want to display data in report?