Free Articles, Free Web Content, Reprint Articles
Monday, May 28, 2012
 
Free Articles, Free Web Content, Reprint ArticlesRegisterAll CategoriesTop AuthorsSubmit Article (Article Submission)ContactSubscribe Free Articles, Free Web Content, Reprint Articles
ADVERTISEMENTS
 

Microsoft Dynamics GP SQL Scripting – Historical Aged AP Trial Balance Example

In this small technical article we will give SQL script to build up something like Crystal Report or even now becoming popular SRS (MS SQL Server Reporting Services) report.  You can envelop this script into SQL stored procedure

Prior to the nice time when you will be looking and analyzing SQL script itself, it is good idea to give you some highlights on the join we utilize here.  We have to unionize GP open and history PM tables.  In Great Plains the posting logic moves unapplied Vendor Invoices to work table PM20000, in the same table all the payments, credit and debit memo go.  When you apply completely payment to invoice – both documents go to history: PM30200 table.  Now you see the reason to unionize historical and open tables.  You also should be aware about PM20100 and PM30300 tables: Payment Apply To Open and History.  If you would like to analyze Microsoft Dexterity tables descriptions, you should launch GP and go to: Tools->Resource Description->Tables.  Please, note here, that we use DEX_ROW_ID as unique value to avoid union known line duplication issue

CREATE PROCEDURE SP_HistoricalAP

    @CutoffDate datetime

AS

select

a.VCHRNMBR,

a.VENDORID,

a.DOCTYPE,

a.DOCDATE,

a.POSTEDDT,

a.DOCNUMBR,

a.DOCAMNT,

case

            when b.APTVCHNM is null then a.DOCAMNT

            else (a.DOCAMNT-b.APPLDAMT)

end as CURRAMT,

a.DEX_ROW_ID as DEX_ROW_ID1,

b.DEX_ROW_ID as DEX_ROW_ID2,

a.DISCAMNT,

a.DUEDATE,

a.PYMTRMID,

a.VOIDED

from

--PM30200

(

select

VCHRNMBR,

VENDORID,

DOCTYPE,

DOCDATE,

POSTEDDT,

DOCNUMBR,

DOCAMNT,

DEX_ROW_ID,

DISCAMNT,

DUEDATE,

PYMTRMID,

VOIDED

from PM30200

union

select

VCHRNMBR,

VENDORID,

DOCTYPE,

DOCDATE,

POSTEDDT,

DOCNUMBR,

DOCAMNT,

DEX_ROW_ID,

DISCAMNT,

DUEDATE,

PYMTRMID,

VOIDED

from PM20000

)

a

left join

--PM30300

(

select APTODCTY, APTVCHNM, sum(APPLDAMT) as APPLDAMT, max(ApplyToGLPostDate) as ApplyToGLPostDate, max(DEX_ROW_ID) as DEX_ROW_ID from PM30300 group by APTODCTY, APTVCHNM

union

select APTODCTY, APTVCHNM, sum(APPLDAMT) as APPLDAMT, max(ApplyToGLPostDate) as ApplyToGLPostDate, max(DEX_ROW_ID) as DEX_ROW_ID from PM20100 group by APTODCTY, APTVCHNM

)

b on a.VCHRNMBR=b.APTVCHNM and a.DOCTYPE=b.APTODCTY and a.DOCTYPE<=4 and a.VOIDED=0

where a.DOCDATE<=@CutoffDate and b.ApplyToGLPostDate<=@CutoffDate

union

select

a.VCHRNMBR,

a.VENDORID,

a.DOCTYPE,

a.DOCDATE,

a.POSTEDDT,

a.DOCNUMBR,

-a.DOCAMNT,

case

            when b.VCHRNMBR is null then a.DOCAMNT

            else a.DOCAMNT-b.APPLDAMT

end as CURRAMT,

a.DEX_ROW_ID as DEX_ROW_ID1,

b.DEX_ROW_ID as DEX_ROW_ID2,

a.DISCAMNT,

a.DUEDATE,

a.PYMTRMID,

a.VOIDED

from

--PM30200

(

select

VCHRNMBR,

VENDORID,

DOCTYPE,

DOCDATE,

POSTEDDT,

DOCNUMBR,

DOCAMNT,

DEX_ROW_ID,

DISCAMNT,

DUEDATE,

PYMTRMID,

VOIDED

from PM30200

union

select

VCHRNMBR,

VENDORID,

DOCTYPE,

DOCDATE,

POSTEDDT,

DOCNUMBR,

DOCAMNT,

DEX_ROW_ID,

DISCAMNT,

DUEDATE,

PYMTRMID,

VOIDED

from PM20000

)

a

left join

--PM30300

(

select DOCTYPE, VCHRNMBR, sum(APPLDAMT) as APPLDAMT, max(ApplyToGLPostDate) as ApplyToGLPostDate, max(DEX_ROW_ID) as DEX_ROW_ID from PM30300 group by DOCTYPE, VCHRNMBR

union

select DOCTYPE, VCHRNMBR, sum(APPLDAMT) as APPLDAMT, max(ApplyToGLPostDate) as ApplyToGLPostDate, max(DEX_ROW_ID) as DEX_ROW_ID from PM20100 group by DOCTYPEComputer Technology Articles, VCHRNMBR

)

b on a.VCHRNMBR=b.VCHRNMBR and a.DOCTYPE=b.DOCTYPE and a.DOCTYPE>4 and a.VOIDED=0

where a.DOCDATE<=@CutoffDate and b.ApplyToGLPostDate<=@CutoffDate

Source: Free Articles from ArticlesFactory.com

ABOUT THE AUTHOR


Andrew Karasev, Alba Spectrum Group. http://www.albaspectrum.com help@albaspectrum.com 1-866-528-0577, 1-630-961-5918, serving MS Dynamics GP customers locally in Houston: Richmond, Rosenberg, Dallas, Katy, Sugar Land, Galveston; Chicago: Naperville, Aurora, Morris, Glen Ellyn, Winchester, Oak Park, Lyons, Alsip, Lemont, Seneca, Ottawa, Joliet, Plainfield, Romeoville, Barrington, Crystal Lake, Rockford, DeKalb, Wheaton, Lisle, Downers Grove, Batavia, St. Charles, Norway.  Dex customizations USA/Canada nationwide support is available via remote support/connection: California, Minnesota, Florida, New York, Virginia, Oregon, Arizona, Pennsylvania, Vermont, Rhode Island, New Mexico.

 



Health
Business
Finance
Travel
Home Repair
Technology
Computers
Family
Communication
Entertainment
Autos
Marketing
Self Help
Sports
Home Business
Education
ECommerce
Law
Other
Internet
Partners


Page loaded in 0.058 seconds