I have this SQL statement :
select * from AX2009_DEV.dbo.WMSINVENTTRANSDOCK join AX2009_DEV.dbo.SALESTABLE on INVENTTRANSREFID = salesid join AX2009_DEV.dbo.INVENTDIM on WMSINVENTTRANSDOCK.inventDimId = inventDim.inventDimId
I am trying to write this in code :
qbdWMSInventTransDock = query.addDataSource(tableNum(WMSInventTransDock));
qbdSalesTable = qbdWMSInventTransDock.addDataSource(tableNum(SalesTable));
qbdSalesTable.addLink(fieldNum(WMSInventTransDock, InventTransRefId), fieldNum(SalesTable, SalesId));
qbdSalesTable.joinMode(JoinMode::InnerJoin);
qbdInventDim = qbdWMSInventTransDock.addDataSource(tableNum(InventDim));
qbdInventDim.addLink(fieldNum(WMSInventTransDock, InventDimId), fieldNum(InventDim, InventDimId));
qbdInventDim.joinMode(JoinMode::InnerJoin);
But when I debug I can see the SQL statement "resets" as soon as I try to connect InventDim to WMSInventTransDock.
I want to do it this way and not write a select statement because I want to be able to do this later on :
if (inventSiteId)
{
qbr = qbdInventDim.addRange(fieldNum(InventDim, InventSiteId));
qbr.value(inventSiteId);
}
if (inventLocationId)
{
qbr = qbdInventDim.addRange(fieldNum(InventDim, InventLocationId));
qbr.value(inventLocationId);
}