If you want to run through the contents of a temporary table with a QueryRun, you have to use the method setRecord() of the QueryRun object.
static void Job1(Args _args) { TmpFrmVirtual tmpFrmVirtual; InventTable inventTable; Query q; QueryRun qr; QueryBuildDataSource qbds1, qbds2; TmpFrmVirtual populateTmpFrmVirtual() { TmpFrmVirtual tmpFrmVirtualLocal; tmpFrmVirtualLocal.clear(); tmpFrmVirtualLocal.ItemId = "A0001"; tmpFrmVirtualLocal.insert(); tmpFrmVirtualLocal.clear(); tmpFrmVirtualLocal.ItemId = "A0002"; tmpFrmVirtualLocal.insert(); tmpFrmVirtualLocal.clear(); tmpFrmVirtualLocal.ItemId = "A0003"; tmpFrmVirtualLocal.insert(); return tmpFrmVirtualLocal; } q = new Query(); qbds1 = q.addDataSource(tableNum(TmpFrmVirtual)); qr = new QueryRun(q); qr.setRecord(populateTmpFrmVirtual()); while (qr.next()) { tmpFrmVirtual = qr.get(tableNum(tmpFrmVirtual)); info(tmpFrmVirtual.ItemId); } }
If you want to run through the contents of a temporary table with a QueryRun, you have to use the method setRecord() of the QueryRun object.
Simple example