Hello Raza,
Hope this query will fulfill your requirement
Declare @Fromdate as Datetime
Declare @Todate as Datetime
Set @Fromdate=(select MIN(T0.DocDate) from OVPM T0 where T0.DocDate>='[%0]')
Set @Todate=(select MAX(T1.DocDate) from OVPM T1 where T1.DocDate <='[%1]')
SELECT OVPM.DocNum, case when isnull(OCHO.CheckNum,'') = 0 then 'Cash Payment' else 'Bank Payment'end as PaymentType,isnull(OCHO.CheckNum,'') as CheckNumber,
OVPM.Docdate as PostingDate,OVPM.TaxDate asDocumentDate, isnull(OCHO.CheckSum,0) AS CheckAmount, isnull(OCHO.VendorName,'') asVendorName, isnull(OCHO.VendorCode,'') as vendorCode,
OVPM.doctotal + isnull(sum(VPM2.WtAppld),0) AS DocTotal,isnull(sum(VPM2.WtAppld),0) AS Tax, isnull(VPM4.AcctCode,'') as accountCode,isnull(VPM4.AcctName,'') as AccountName
FROM OVPM LEFT OUTER JOIN
OCHO ON OVPM.DocNum = OCHO.PmntNum LEFT OUTER JOIN
VPM2 ON OVPM.DocNum = VPM2.DocNum LEFT OUTER JOIN
VPM4 ON OVPM.DocNum = VPM4.DocNum
where OVPM.Canceled <> 'Y'
and OVPM.DocDate >=@Fromdate and OVPM.DocDate <=@Todate
GROUP BY OVPM.CounterRef, OCHO.CheckNum, OVPM.docdate,OVPM.TaxDate, OCHO.CheckSum,OCHO.PmntDate, OCHO.VendorName, OCHO.VendorCode,
OVPM.doctotal, OCHO.CheckAcct,VPM4.AcctCode,VPM4.AcctName,OCHO.PrnConfrm,OCHO.Printed,OCHO.Canceled,OVPm.DocNum,OVpm.DocEntry
order by OVPM.DocNum