SQL View for Payables Transactions with AA Codes
Guys
There is a smartlist object for AP transactions, but this smartlist does not show the analytical accounting information in it.
So in this post, I have decided to post a SQL view to generate a view to show AP transaction information along with the analytical accounting information.
IF EXISTS ( SELECT *
FROM sys.views
WHERE object_id = OBJECT_ID(N'[dbo].[vw_AAG20000]') )
DROP VIEW [dbo].[vw_AAG20000]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[vw_AAG20000]
AS SELECT [aaSubLedgerHdrID],
[SERIES],
[DOCTYPE] = CASE WHEN [DOCTYPE] = 0 THEN 1
WHEN [DOCTYPE] = 1 THEN 6
ELSE 5
END,
[DOCNUMBR],
[Master_ID],
[aaHdrErrors],
[DEX_ROW_ID]
FROM [dbo].[AAG20000]
GO
IF EXISTS ( SELECT *
FROM sys.views
WHERE object_id = OBJECT_ID(N'[dbo].[vw_APTransactions]') )
DROP VIEW [dbo].[vw_APTransactions]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[vw_APTransactions]
AS SELECT *,
'Open' AS STATUS
FROM dbo.PM20000
UNION ALL
SELECT *,
'History' AS STATUS
FROM dbo.PM30200
GO
IF EXISTS ( SELECT *
FROM sys.views
WHERE object_id = OBJECT_ID(N'[dbo].[vw_APAAInformation]') )
DROP VIEW [dbo].[vw_APAAInformation]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[vw_APAAInformation]
AS SELECT A.VENDORID,
I.VENDNAME,
I.VNDCLSID AS VENDORCLASS,
J.VNDCLDSC AS VENDORCLASSDESC,
A.VCHRNMBR AS VOUCHERNO,
A.DOCNUMBR AS INVOICENO,
A.DOCDATE AS DOCUMENTDATE,
A.PSTGDATE AS POSTINGDATE,
G.ACTNUMST AS GLACCOUNTNO,
H.ACTDESCR AS GPACCOUNTDESC,
F.aaTrxDimCode AS DIMCODE,
F.aaTrxDimCodeDescr AS DIMCODEDESC,
( C.DEBITAMT - C.CRDTAMNT ) AS AMOUNT,
YEAR(A.PSTGDATE) AS TRXYEAR,
'Week ' + REPLICATE('0', 2 - LEN({fn WEEK(A.PSTGDATE)}))
+ LTRIM(RTRIM(STR({fn WEEK(A.PSTGDATE)}))) AS WEEKNO,
REPLICATE('0', 2 - LEN(MONTH(A.PSTGDATE)))
+ ( LTRIM(RTRIM(STR(MONTH(A.PSTGDATE)))) + ':'
+ ( LEFT({fn MONTHNAME(A.PSTGDATE)}, 3) ) + ''''
+ SUBSTRING(LTRIM(RTRIM(STR(YEAR(A.PSTGDATE)))), 3, 2) ) AS PERIOD,
QUARTERNO = CASE {fn QUARTER(A.PSTGDATE)}
WHEN 1
THEN 'Q1:Jan' + ''''
+ SUBSTRING(LTRIM(RTRIM(STR(YEAR(A.PSTGDATE)))),
3, 2) + '-Mar' + ''''
+ SUBSTRING(LTRIM(RTRIM(STR(YEAR(A.PSTGDATE)))),
3, 2)
WHEN 2
THEN 'Q2:Apr' + ''''
+ SUBSTRING(LTRIM(RTRIM(STR(YEAR(A.PSTGDATE)))),
3, 2) + '-Jun' + ''''
+ SUBSTRING(LTRIM(RTRIM(STR(YEAR(A.PSTGDATE)))),
3, 2)
WHEN 3
THEN 'Q3:Jul' + ''''
+ SUBSTRING(LTRIM(RTRIM(STR(YEAR(A.PSTGDATE)))),
3, 2) + '-Sep' + ''''
+ SUBSTRING(LTRIM(RTRIM(STR(YEAR(A.PSTGDATE)))),
3, 2)
ELSE 'Q4:Oct' + ''''
+ SUBSTRING(LTRIM(RTRIM(STR(YEAR(A.PSTGDATE)))),
3, 2) + '-Dec' + ''''
+ SUBSTRING(LTRIM(RTRIM(STR(YEAR(A.PSTGDATE)))),
3, 2)
END,
A.[STATUS] AS STATUS,
DOCUMENTTYPE = CASE WHEN A.DOCTYPE = 1 THEN 'Invoices'
WHEN A.DOCTYPE = 5 THEN 'Credit Notes'
WHEN A.DOCTYPE = 6
AND A.CHEKBKID = 'XXXXX' THEN 'Checks'
WHEN A.DOCTYPE = 6
AND A.CHEKBKID = 'YYYYY' THEN 'ACH'
WHEN A.DOCTYPE = 6
AND A.CHEKBKID = 'ZZZZZ' THEN 'Wires'
ELSE 'Miscellaneous'
END,
A.CHEKBKID AS CHECKBOOK
FROM dbo.vw_APTransactions A
INNER JOIN dbo.vw_AAG20000 B
ON B.DOCNUMBR = A.VCHRNMBR
AND B.DOCTYPE = A.DOCTYPE
INNER JOIN dbo.AAG20001 C
ON B.aaSubLedgerHdrID = C.aaSubLedgerHdrID
INNER JOIN dbo.AAG20002 D
ON C.aaSubLedgerHdrID = D.aaSubLedgerHdrID
AND C.aaSubLedgerDistID = D.aaSubLedgerDistID
INNER JOIN dbo.AAG20003 E
ON D.aaSubLedgerHdrID = E.aaSubLedgerHdrID
AND D.aaSubLedgerDistID = E.aaSubLedgerDistID
AND D.aaSubLedgerAssignID = E.aaSubLedgerAssignID
INNER JOIN dbo.AAG00401 F
ON E.aaTrxDimID = F.aaTrxDimID
AND E.aaTrxCodeID = F.aaTrxDimCodeID
INNER JOIN dbo.GL00105 G
ON C.ACTINDX = G.ACTINDX
INNER JOIN dbo.GL00100 H
ON H.ACTINDX = G.ACTINDX
INNER JOIN dbo.PM00200 I
ON I.VENDORID = A.VENDORID
LEFT OUTER JOIN dbo.PM00100 J
ON I.VNDCLSID = J.VNDCLSID
WHERE A.VOIDED <> 1
AND A.DOCTYPE <> 6
GO
GRANT SELECT, INSERT, UPDATE, DELETE ON vw_AAG20000 TO DYNGRP
GRANT SELECT, INSERT, UPDATE, DELETE ON vw_APTransactions TO DYNGRP
GRANT SELECT, INSERT, UPDATE, DELETE ON vw_APAAInformation TO DYNGRP
Hope this post was helpful to you.
Until next post…














Hi,
I ran the script but nothing changes. How does this script update the smartlist view for AP with AA transactions? What I’m really trying to do is to add the Vendor name to a FRx AA report but have had no luck so far. Any ideas?
Thanks,
Thomas Ringsma