Run sql statement query in D365fo x++

Run sql statement query in D365fo x++

private int getMTDUniqueSKUsSold(TransDate _fromDate, TransDate _toDate, str _empId, InventSiteId _inventSite, str _division) { int uniqueCount; str fromDateStr = date2Str(_fromDate, 321, DateDay::Digits2, DateSeparator::Hyphen, DateMonth::Digits2, DateSeparator::Hyphen, DateYear::Digits4); str toDateStr = date2Str(_toDate, 321, DateDay::Digits2, DateSeparator::Hyphen, DateMonth::Digits2, DateSeparator::Hyphen, DateYear::Digits4); str sql = strFmt(@" SELECT COUNT(DISTINCT CIT.ItemId) FROM CustInvoiceTrans CIT JOIN CustInvoiceJour CIJ ON CIT.InvoiceId = CIJ.InvoiceId JOIN SalesTable ST ON ST.SalesId = CIJ.SalesId JOIN DefaultDimensionView DDV ON DDV.DefaultDimension = ST.DefaultDimension JOIN HcmWorker HW ON HW.RecId = ST.WorkerSalesResponsible WHERE CIJ.InvoiceDate >= '%1' AND CIJ.InvoiceDate <= '%2' AND ST.InventSiteId = '%3' AND DDV.Name = 'Division' AND DDV.DisplayValue = '%4' AND HW.PersonnelNumber = '%5' ", fromDateStr, toDateStr, _inventSite, _division, _empId); SqlStatementExecutePermission perm = new SqlStatementExecutePermission(sql); perm.assert(); Connection conn = new Connection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); if (rs.next()) { uniqueCount = rs.getInt(1); } CodeAccessPermission::revertAssert(); return uniqueCount; }

Comments

Popular posts from this blog

D365FO – AX – X++ –Refresh, Reread, Research, and ExecuteQuery

Create Inventory Journal through Code in D365FO X++

SalesLine Reservation in D365fo x++