Hi Everyone,
I have developed a report which shows the payments made to vendors. However I am seeing some strange results in the A/P Invoice # column.
Here is the query that I have written -
/* * Purpose: Lists payments made by Business Partner (and associated Invoice) * Date (range) and / or * BP (Customer Code) */ DECLARE @fromDate DATE, @toDate DATE, @bpCode nvarchar(10) SET @fromDate = '' IF @fromDate = '' SET @fromDate = '2013-11-01' -- Go Live! SET @toDate = '' IF @toDate = '' --'1753-01-01' -- SQL system set date SET @toDate = GETDATE() SET @bpCode = '' + '%' IF @bpCode = '' SET @bpCode = '%' SELECT CASE WHEN TX.rownum = 1 THEN TX.[BP (Supplier) Code] ELSE '' END AS 'BP Code' , CASE WHEN TX.rownum = 1 THEN TX.CardName ELSE '' END AS 'BP Name' --, CASE WHEN TX.rownum = 1 THEN TX.[Transaction ID] ELSE '' END AS 'Transaction ID' , CASE WHEN TX.rownum = 1 THEN TX.[Payment No.] ELSE '' END AS 'Payment No.' , TX.[For Invoice(s)] AS 'For A/P Invoice(s)' , TX.[Paid on Invoice] AS '$ Amount Paid for Invoice' , CASE WHEN TX.rownum = 1 THEN TX.[Total Paid] ELSE '' END AS '$ Total Paid' --, CASE WHEN TX.rownum = 1 THEN TX.[System Total] ELSE '' END AS 'System Total' , CASE WHEN TX.rownum = 1 THEN TX.[Paid By] ELSE '' END 'Paid By' FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY T4.DocNum ORDER BY T1.TransID) AS rownum , T0.CardCode AS 'BP (Supplier) Code' , T0.CardName , CAST(T1.TransId AS nvarchar) AS 'Transaction ID' --, T1.BaseRef , ISNULL(CAST(T4.DocNum AS nvarchar), '') AS 'Payment No.' , ISNULL(CAST(T5.DocNum AS nvarchar), '') AS 'For Invoice(s)' , ISNULL(CAST(CAST(T4.SumApplied AS decimal(15,2)) AS nvarchar), '') AS 'Paid on Invoice' , CAST(CAST(T1.Debit AS decimal(15,2)) AS nvarchar) AS 'Total Paid' , CAST(CAST(T2.SysTotal AS decimal(15,2)) AS nvarchar) AS 'System Total' , T3.U_NAME AS 'Paid By' FROM OCRD T0 INNER JOIN JDT1 T1 ON T1.ShortName = T0.CardCode INNER JOIN OJDT T2 ON T2.TransId = T1.TransId LEFT JOIN OUSR T3 ON T3.USERID = T1.UserSign LEFT JOIN VPM2 T4 ON T4.DocNum = T2.BaseRef -- Electronic Payments LEFT JOIN OINV T5 ON T5.DocEntry = T4.DocEntry WHERE T2.TransType = '46' -- Only Show 'Payments to vendors' AND (T2.DueDate >= @fromDate AND T2.DueDate <= @toDate) AND T0.CardCode LIKE @bpCode ) AS TX
Below is a screen capture of (a segment of) results -
My specific challenge is that (A/P) Invoices only go up to 7699 as of my writing this message.
Understandably if I perform a search for a 200K number (e.g.: 200297) I receive the error message below -
Any help with identifying why I am seeing such high results in the 'For A/P Invoice(s)' column will be greatly appreciated.
Kind Regards,
Davo