Vishal,
objective of my x++ query is _ bulk delete all sales orders that are open(backorder) and don’t have a salesline ,
Now , i want to build query object for this query …
X++:
ttsBegin;
delete_from salesTable notexists join salesLine
where salesLine.SalesId == salesTable.SalesId
&& salesTable.SalesStatus == salesStatus::Backorder;
{
info(“Orphan records are deleted”);
}
ttscommit;
Query Object::
axQuery = new Query();
qbdsSalesTable = axQuery.addDataSource(tablenum(SalesTable));
qbdsSalesLine = qbdsSalesTable.addDataSource(tablenum(SalesLine));
qbdsSalesLine.relations(false);
qbdsSalesLine.joinMode(JoinMode::NoExistsJoin);
qbdsSalesLine.addLink(fieldnum(SalesTable,SalesId),fieldnum(SalesLine,SalesId));
qbrOpenOrder = qbdsSalesLine.addRange(fieldnum(salesTable,SalesStatus));
qbrOpenOrder.value(queryvalue(SalesStatus::Backorder));
queryExecuter = new QueryRun(axQuery);
while( queryExecuter.next())
{
salesTable = queryExecuter.get(tablenum(SalesTable));
// info(salestable.SalesId);
delete_from salesTable; // it’s not working
info(“Orphan records are deleted”);
}