Tuesday, February 15, 2011

Dynamics GP Manufacturing - MRP, Suggested MO and Sub Assembly

Dynamics GP CAN suggest MO's for all Sub-Assemblies, as well as PO's for all raw materials required. However, it will not do them all at the same time, and can only suggest one level at a time.

1) Go to Cards>Item>Item Maintenance
Click on the flyout in the top right hand corner, go to Item Engineering Data
Tick the "Calculate MRP" box

2) Ensure that the following options are configured for each item/site combination.


In the Cards>Inventory> Item Resource Planning Maintenance Window
FOR EACH SITE that uses the item,
(including work centers if your sub-assemblies are moving through work centers)

ensure the following
  • "Calculate MRP for this Item/Site" is ticked
  • Order Policy is set to Lot for Lot
  • Replenishment Method is Make or Buy

If you need to do this for many items, you can use the 
Cards>Inventory> Site Resource Planning Maintenance Window instead.
Simply choose your site and set the options and click save to update all items within that site.

3) Create your first MO of your final product you want to kick off the sub-assembly MRP suggestions
You should use Backward Infinite for the scheduling since you are starting at the final product, and all sub-assemblies should occur before assembly of your final product.

4) Run your MRP regeneration to calculate the Suggested MO's.
Ensure that the time span you have selected includes the due date of the MO.

4) To view the Suggested MO's go to
MRP Quantities Query, hit refresh
or MRP Pegging Inquiry, hit refresh

5) Double click on your Suggested MO and transfer it to a real MO.

The MRP will only suggest MO's for a single level down into the Subassemblies.
eg.
A requires B requires C

MO for A, then run MRP = Suggested MO for B ONLY
Transfer Suggested MO for B to MO, the run MRP again = Suggested MO for C ONLY


Friday, February 11, 2011

Dynamics GP - Weekly / Monthly Maintenance Procedures

Dynamics GP - Weekly / Monthly Maintenance Procedures




Maintenance should be run on a Weekly / Monthly Basis, or as soon as possible after a power failure, or loss of connection to the server for any reason.

1.       Log into SQL Server Management Studio. Open Query Analyzer
a.     These only need to be done in the event of a power failure, or errors concerning damaged tables.
b.    DBCC CHECKDB (‘MASTER’)
c.     DBCC CHECKDB (‘MODEL’)
d.    DBCC CHECKDB (‘DYNAMICS’)
e.     DBCC CHECKDB (‘<database name>’)
f.      Run each line separately to perform maintenance on the tables of each company to fix any minor structural errors in the database
g.    Repeat for each database


DO NOT run this script if users are doing transactions or posting in ANY company

2.       To ensure all users are out of the system, you can run the following script from the SQL Server Management Studio->Query Analyzer before logging in
1.    DELETE FROM [DYNAMICS].[dbo].[ACTIVITY]
2.    DELETE FROM [DYNAMICS].[dbo].[SY00800]
3.    DELETE FROM [DYNAMICS].[dbo].[SY00801]
4.    DELETE FROM [tempdb].[dbo].[DEX_LOCK]
5.    DELETE FROM [tempdb].[dbo].[DEX_SESSION]
a.     Run this script if you experience errors concerning locked records, or batches or records in use, or errors saying other users are logged in
b.    DO NOT run this script if users are doing transactions or posting in ANY company

3.       Before running any maintenance, ensure all users are logged out, and you are logged in as SA
a.     Check by going to Tools->Utilities->System->User Activity
b.    Ensure that sa is the only user present

4.       GP->Maintenance->Sql
a.     This process optimizes the databases to improve database performance.
b.    Company may become sluggish or slow if not run regularly
c.     Select Company
d.    Tick Recompile and Update Statistics
e.     Click Process
f.      Repeat for each active company including dynamics
g.    Usually only takes a few minutes
5.       GP->Maintenance->Check Links
a.     Select Series
b.    Click “All” to add all categories
c.     Repeat this for all series
d.    Most important series are Financial, Sales, Purchasing, Inventory, Company, System
e.     Click “OK”
f.      This process can take a long time, you may want to leave it overnight as long as it doesn’t clash with the backup schedule.
g.    Print and review all reports to understand the impact of the check links
6.       GP->Tools->Utilities->Sales->Reconcile
a.     You may select other options or leave the defaults to do all records
b.    Will fix minor errors in SOP
7.       GP->Tools->Utilities->Purchasing->Reconcile
a.     You may select other options or leave the defaults to do all records
8.       GP->Tools->Utilities->Inventory->Reconcile
a.     You may select other options or leave the defaults to do all records
b.    Will fix errors with allocated inventory
9.       GP->Tools->Utilities->Financial->Reconcile
a.     Select  options. Year is easiest.

10.   Monthly / Weekly Smartlists
a.     It is a good practice to keep excel exports of customer , vendor and inventory balances, as well as open transactions as reference on a monthly basis
11.   Monthly / Weekly Reports
a.     List all reports that need to be printed and archived in excel or pdf on a fixed schedule.
b.    Name of person/position who is responsible for running the report
c.     Name of person/position it should be delivered to
12.   Physical Backup
a.     A Backup Schedule should be set up in SQL to do a full backup of all databases as often as required
b.    Daily backups with a two week rotation meet most company’s needs
c.     To set up a backup schedule, connect to:
i.                SQL Server Management Studio
ii.              Expand Management
iii.            Right Click Maintenance Plans
iv.            Start Maintenance Plan Wizard
1.       Choose backup or maintenance tasks
2.       Choose which databases they will be performed on
3.       Schedule those tasks
d.    File backups  should be done on all shared folders containing all dictionary files, and any customizations or additional reports
e.     File backups should also be done on the Program Files>Microsoft Dynamics GP folders on the server and on each user’s workstation
i.                Backup of the Program Files>Microsoft Dynamics GP folders on each user’s workstation is only necessary if users have customizations specific to their workstation
f.      Ensure a physical backup is completed after maintenance
g.    Restore this backup to your test company to ensure it is working
h.    Log into SQL Server Management Studio
ii.              Right click on TEST database
iii.            Tasks>Restore>Database
iv.            Tick from device, choose your backup file to restore
v.              Tick Restore on the file
vi.            Click options on the left bar under “Select a Page”
vii.          Tick “overwrite the existing database”
viii.        Under the “Restore As” paths, ensure that they are pointing to the correct path and filenames of the database files you wish to overwrite (Eg. If you are restoring LIVE into TEST, ensure the path and filenames for pointing to TESTDAT.mdf and TESTLOG.ldf)


13.   Business Intelligence Backups
a.     Export copies of all customized reports in SSRS as rdl files
b.    Backup Analysis Cubes
c.     Backup any other customized reports done in any third party software

14.   Standard server maintenance
a.     Scan disk
b.    Defragment
c.     Diagnostics

Thursday, February 10, 2011

Dynamics GP View - Payables-Receiving Distribution Detail

The following view will produce a list of all Check Payments, the Invoices they were applied to, the Receivings Transactions associated with the invoices, the distributions on the receivings transactions, and the line item distribution breakdown of the total distribution.


CREATE VIEW Pay_Rcv_Dist_Dtl
as

 SELECT DISTINCT *  
 FROM
 (SELECT * FROM
(SELECT VENDORID,
     CASE DocTYPE
         WHEN 6 THEN 'Payment'
END Doc_Type, DOCTYPE,

DOCDATE PMTDATE, VCHRNMBR PMTVCHR, DOCNUMBR CHQNUMBR, DOCAMNT PMTAMT,
          VOIDED, TRXSORCE PMTSORCE, CHEKBKID, PSTGDATE PMTPSTGDATE, PYENTTYP, CARDNAME, CURNCYID
      FROM PM30200
      UNION
      SELECT VENDORID,
      CASE DocTYPE
         WHEN 6 THEN 'Payment'
END Doc_Type, DOCTYPE,
      DOCDATE, VCHRNMBR, DOCNUMBR, DOCAMNT,
          VOIDED, TRXSORCE, CHEKBKID, PSTGDATE, PYENTTYP, CARDNAME, CURNCYID
      FROM PM20000) P

INNER JOIN
     (SELECT VENDORID V1, VENDNAME FROM PM00200) V
     ON P.VENDORID = V.V1

LEFT OUTER JOIN
     (SELECT VENDORID V2, VCHRNMBR VCH1, DOCTYPE DOC1, APTVCHNM, APTODCTY,
          APTODCNM INVNUMBR, APTODCDT INVDATE, ApplyToGLPostDate, APPLDAMT
      FROM PM10200
      UNION
      SELECT VENDORID, VCHRNMBR, DOCTYPE, APTVCHNM, APTODCTY,
          APTODCNM, APTODCDT, ApplyToGLPostDate, APPLDAMT
      FROM PM30300) PA
     ON P.PMTVCHR = PA.VCH1
     AND P.VENDORID = PA.V2
     AND P.DOCTYPE = PA.DOC1
     WHERE (P.DOCTYPE = 6)
     ) PMT
    
 LEFT OUTER JOIN
 --INVOICES
 (SELECT VCHRNMBR INVVCH, DOCAMNT INVAMT FROM
(SELECT VENDORID,
      CASE DOCTYPE
         WHEN 1 THEN 'Invoice'
         WHEN 2 THEN 'Finance Charge'
         WHEN 3 THEN 'Misc Charge'
 END INVTYPE,
DOCTYPE, DOCDATE, VCHRNMBR, DOCNUMBR, DOCAMNT,
          VOIDED, TRXSORCE, CHEKBKID, PSTGDATE, PYENTTYP, CARDNAME
      FROM PM30200
      UNION
      SELECT VENDORID,
      CASE DOCTYPE
         WHEN 1 THEN 'Invoice'
         WHEN 2 THEN 'Finance Charge'
         WHEN 3 THEN 'Misc Charge'
 END INVTYPE,
      DOCTYPE, DOCDATE, VCHRNMBR, DOCNUMBR, DOCAMNT,
          VOIDED, TRXSORCE, CHEKBKID, PSTGDATE, PYENTTYP, CARDNAME
      FROM PM20000) P
     WHERE (P.DOCTYPE in (1,2,3))
     ) INV
    
     ON INV.INVVCH = PMT.APTVCHNM

--RECEIVINGS HDR
    
LEFT OUTER JOIN
     (SELECT POPRCTNM, VNDDOCNM, VCHRNMBR RCVVCH
     FROM POP30300
     ) RCVHDR
     ON INV.INVVCH = RCVHDR.RCVVCH

--RECEIVINGS DOCUMENT DISTRIBUTIONS
LEFT OUTER  JOIN
     (SELECT POPRCTNM RCTDIST, CRDTAMNT, DEBITAMT, A.ACTINDX, ACTNUMST, ACTNUMBR_1, ACTNUMBR_2,ACTNUMBR_3,ACTNUMBR_4,ACTDESCR,
     CASE DISTTYPE
         WHEN 1 THEN 'Cash'
         WHEN 2 THEN 'Payable'
         WHEN 3 THEN 'Discount Available'
         WHEN 4 THEN 'Discount Taken'
         WHEN 5 THEN 'Finance Charge'
         WHEN 6 THEN 'Purchase'
         WHEN 7 THEN 'Trade Disc.'
         WHEN 8 THEN 'Misc. Charge'
         WHEN 9 THEN 'Freight'
         WHEN 10 THEN 'Taxes'
         WHEN 11 THEN 'Writeoffs'
         WHEN 12 THEN 'Other'
         WHEN 13 THEN 'GST Disc'
         WHEN 14 THEN 'PPS Amount'
         WHEN 16 THEN 'Round'
         WHEN 17 THEN 'Realized Gain'
         WHEN 18 THEN 'Realized Loss'
         WHEN 19 THEN 'Due To'
         WHEN 20 THEN 'Due From'
        
         ELSE ''
         END Distribution_Type, DISTTYPE
     FROM POP30390 A
     INNER JOIN (SELECT ACTINDX, ACTNUMBR_1, ACTNUMBR_2,ACTNUMBR_3,ACTNUMBR_4, ACTDESCR FROM GL00100) GL ON  A.ACTINDX = GL.ACTINDX
INNER JOIN (SELECT ACTINDX, ACTNUMST FROM GL00105) GL2 ON  GL.ACTINDX  = GL2.ACTINDX
     ) RCVDIST
     ON RCVDIST.RCTDIST = RCVHDR.POPRCTNM

--RECEIVINGS LINE ITEM
    
LEFT OUTER JOIN
     (SELECT POPRCTNM RCTLINE, PONUMBER, ITEMNMBR, EXTDCOST, ITEMDESC, INVINDX
     FROM POP30310
     ) RCVLN
     ON RCVHDR.POPRCTNM  = RCVLN.RCTLINE
     AND RCVLN.INVINDX = RCVDIST.ACTINDX

WHERE VOIDED = 0 and DISTTYPE < 21