and pls check my dp class which am using...
[SysEntryPointAttribute(false)]
void processReport()
{
AcxCashSalesDC acxCashSalesDC;
AcxPOSSalesPaymentsSyncTable acxPOSSalesPaymentsSyncTable;
AcxPOSSalesSyncHeaderTable acxPOSSalesSyncHeaderTable;
InventSite inventSite;
FromDate fromDate;
ToDate toDate;
AcxClusterCode acxClusterCode;
InventSiteId inventSiteId;
AcxCashSalesDC = this.parmDataContract();
fromDate = acxCashSalesDC.parmFromDate();
toDate = acxCashSalesDC.parmTODate();
inventSiteId = acxCashSalesDC.parmInventSiteId();
acxClusterCode = acxCashSalesDC.parmAcxClusterCode()
;
while select Store,TransDate,sum(AmountPaid),sum(BalanceReturned) from acxPOSSalesPaymentsSyncTable
group by Store,TransDate
join BillNumber from acxPOSSalesSyncHeaderTable
group by BillNumber
join acxClusterCode,SiteId,Name from inventSite
group by acxClusterCode,SiteId,Name
where acxPOSSalesPaymentsSyncTable.Store == acxPOSSalesSyncHeaderTable.store
&& acxPOSSalesPaymentsSyncTable.Store == inventSite.SiteId
&& acxPOSSalesPaymentsSyncTable.DocumentNo == acxPOSSalesSyncHeaderTable.DocumentNo
&& (acxPOSSalesPaymentsSyncTable.PaymentMethod == "1"||acxPOSSalesPaymentsSyncTable.PaymentMethod == "12")
&& acxPOSSalesPaymentsSyncTable.TransDate >= fromDate
&& acxPOSSalesPaymentsSyncTable.TransDate <= toDate
&& (!inventSiteId || inventSite.SiteId == inventSiteId)
&& (!acxClusterCode || inventSite.AcxClusterCode == acxClusterCode)
{
acxCashSales.clear();
acxCashSales.initValue();
acxCashSales.TransDate = acxPOSSalesPaymentsSyncTable.TransDate;
acxCashSales.CashAmt = (acxPOSSalesPaymentsSyncTable.AmountPaid-acxPOSSalesPaymentsSyncTable.BalanceReturned);
acxCashSales.BillNumber = acxPOSSalesSyncHeaderTable.BillNumber;
acxCashSales.Store = inventSite.SiteId;
acxCashSales.Name = inventSite.Name;
acxCashSales.insert();
}
}