Dear Experts,
I want to show Physical date field in the report but it is missing help and check my code below.
[
SRSReportQueryAttribute (querystr(IssuedQty)),
SRSReportParameterAttribute(classstr(MNRMPMIssueQtyContract))
]
public class MNRMPMIssueQtyDP extends SRSReportDataProviderBase
{
MNRMPMIssueQtyTmp MNRMPMOnhandTmp, MNRMPMOnhandTmpLocal;
InventTrans inventTrans;
// InventTransOrigin inventTransOrigin;
// InventDim inventDim;
InventSum inventsum;
TransDate toDate;
}
[SRSReportDataSetAttribute("MNRMPMIssueQtyTmp")]
public MNRMPMIssueQtyTmp getMNRMPMOnhandTmp()
{
select * from MNRMPMOnhandTmp;
return MNRMPMOnhandTmp;
}
public void insertIntoTmpTable()
{
MNRMPMOnhandTmpLocal.ItemId = inventTrans.ItemId;
MNRMPMOnhandTmpLocal.ItemName = inventTrans.itemName();
//MNRMPMOnhandTmpLocal.inventBatchId = inventdim.inventBatchId;
MNRMPMOnhandTmpLocal.inventBatchId = inventsum.inventBatchId();
MNRMPMOnhandTmpLocal.DatePhysical= inventTrans.DatePhysical;
//MNRMPMOnhandTmpLocal.wMSLocationId = inventdim.InventLocationId;
// MNRMPMOnhandTmpLocal.UnitId = InventTable::find(inventTrans.ItemId).inventUnitId();
MNRMPMOnhandTmpLocal.UnitId = inventTrans.inventUnit();
MNRMPMOnhandTmpLocal.Qty = inventTrans.Qty !=0;
MNRMPMOnhandTmpLocal.insert();
}
private void insertSum()
{
while select sum(Qty) from MNRMPMOnhandTmpLocal group by ItemId, ItemName, UnitId, InventBatchId
{
MNRMPMOnhandTmp.ItemId = MNRMPMOnhandTmpLocal.ItemId;
MNRMPMOnhandTmp.ItemName = MNRMPMOnhandTmpLocal.ItemName;
MNRMPMOnhandTmp.inventBatchId = MNRMPMOnhandTmpLocal.inventBatchId;
//MNRMPMOnhandTmp.wMSLocationId = MNRMPMOnhandTmpLocal.wMSLocationId;
MNRMPMOnhandTmp.UnitId = MNRMPMOnhandTmpLocal.UnitId;
MNRMPMOnhandTmp.Qty = MNRMPMOnhandTmpLocal.Qty;
MNRMPMOnhandTmp.insert();
}
}
public void processReport()
{
Query query;
QueryRun queryRun;
MNRMPMIssueQtyContract contract;
query = this.parmQuery();
contract = this.parmDataContract();
toDate = contract.parmToDate();
query.dataSourceNo(1).addRange(fieldnum(InventTrans, DatePhysical)).value(queryRange(mkDate(1,1,2010), toDate));
queryRun = new QueryRun(query);
while(queryRun.next())
{
MNRMPMOnhandTmpLocal.clear();
inventTrans = queryRun.get(tablenum(InventTrans));
inventsum = queryRun.get(tablenum(InventSum));
if(inventTrans.DatePhysical !=dateNull())
this.insertIntoTmpTable();
}
this.insertSum();
}
Best Regards,
Shabir