SQL View for Microsoft Dynamics GP General Ledger Accounts

 

Microsoft Dynamics GP - SQL View for GL Account Review

Hello everyone!

It’s been far too long since my last blog post. I have lots of updates but I wanted to just get to the good stuff first.

I will be sharing a tip at the 2022 Community Summit and I wanted to give you all access to a SQL View that I found and improved. I had a customer with thousands and thousands of accounts that were setup when they first setup GP. Their partner took every possible combo of each segment value and created accounts. This created Balance Sheet accounts for each subdivision/site. Many accounts were never used. They had no easy way to find them! I found a SQL View on the Microsoft Communities site. I added some additional fields and it was perfect!

I have a contest and a survey to help me figure out what I should focus on next. Here’s a link to the survey: Training Dynamo Survey

To learn how to load SQL Views and use them with SmartList Designer or SmartList Builder, visit and subscribe to my YouTube Channel: youtube.com/c/trainingdynamo

--The SQL Script below started here  https://community.dynamics.com/gp/f/microsoft-dynamics-gp-forum/144447/gl-account-numbers--cleanup-of-accounts-not-used
--Amber Bell from Training Dynamo added the "Created Date" and "Account Type" and turned into a SQL View


CREATE VIEW _GLAccountLastUsed
AS


SELECT  B.ACTNUMST 'Account Number' ,
        A.ACTDESCR 'Account Description' ,
	 A.CREATDDT 'Created Date',
	 A.ACTINDX 'Account Index',
	  A.ACCTTYPE 'Account Type',
	  A.ACTIVE 'Active',
        CASE WHEN ISNULL(D.TRX_Date, 0) < A.CREATDDT THEN 'Yes'
             ELSE ''
        END AS NeverUsed ,
        ISNULL(D.TRX_Date, 0) AS 'Last Used' ,
        DATEDIFF(YY, ISNULL(D.TRX_Date, 0), GETDATE()) 'Not Used Since (In Years)' ,
        DATEDIFF(MM, ISNULL(D.TRX_Date, 0), GETDATE()) 'Not Used Since (In Months)' ,
        DATEDIFF(DD, ISNULL(D.TRX_Date, 0), GETDATE()) 'Not Used Since (In Days)'
FROM    dbo.GL00100 AS A
        LEFT OUTER JOIN dbo.GL00105 AS B ON A.ACTINDX = B.ACTINDX
        LEFT OUTER JOIN ( SELECT    ACTINDX ,
                                    MAX(TRX_Date) TRX_Date
                          FROM      ( SELECT    ACTINDX ,
                                                MAX(TRXDATE) AS TRX_Date
                                      FROM      dbo.GL20000
                                      GROUP BY  ACTINDX
                                      UNION ALL
                                      SELECT    ACTINDX ,
                                                MAX(TRXDATE) AS TRX_Date
                                      FROM      dbo.GL30000
                                      GROUP BY  ACTINDX
                                    ) AS C
                          GROUP BY  C.ACTINDX
                        ) AS D ON B.ACTINDX = D.ACTINDX

GO
GRANT SELECT ON _GLAccountLastUsed TO DYNGRP
 

Amber Bell

I have over 20 years experience training Microsoft Dynamics GP (Great Plains) clients across the United States. I previously worked with amazing Microsoft Dynamics GP partner companies in California and Connecticut.

I started my company, Training Dynamo, in order to revolutionize the way that Microsoft Dynamics GP training is delivered. I believe that training can be fun, exciting and rewarding. I know the best way I can help the Microsoft Dynamics GP community is to help Consultants by taking away the mystery of what to cover on each training session. I am on a mission to give Microsoft Dynamics GP partners and consultants the tools they need to succeed!! I have GP training materials available for resale and can provide training and tips to help them inspire their clients to see the potential of using Microsoft Dynamics GP to unify and grow their businesses!