web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Microsoft Dynamics GP (Archived)

Removing GP Modules For Old Versions That Were Never Upgraded

(0) ShareShare
ReportReport
Posted on by 335

I'm working with a GP user that is on GP2010 that would like to install Project Accounting.  After installing and running utilities, it fails with message that product information was unable to be ascertained.  In looking at the logs, it indicates that product 258 is unable to be upgraded from version 8.  In essence, project accounting must've been installed in GP8, but was not upgraded when this client moved from 8 to 9, 9 to 10, and 10 to 2010.  I basically need to remove Project Accounting from the database, and install a clean Project Accounting.  If I look at the DU000010 table in DYNAMICS database, can I use that as a guide for what tables and stored procedures that should be dropped from DYNAMICS and company databases, and then try to install again or is there a better way of removing a basically orphaned instance of a module that was not upgraded from several versions back?

Customer doesn't use PA currently (and wouldn't be able to since the product is version 8 so I assume no data exists in these tables, but I would certainly keep copies of all tables that are dropped).

*This post is locked for comments

I have the same question (0)
  • Verified answer
    Jonathan Fear Profile Picture
    Microsoft Employee on at

    Hi Lance,

    You can use the scripts below to reinstall the PA module. Please note that this is going to drop and recreate all objects for that module which will clear out all data.

    Delete DYNAMICS..DB_Upgrade where PRODID = 258 and db_name = 'xxxx'

    Delete DYNAMICS..DU000020 where PRODID = 258 and companyID = xx

    Delete DYNAMICS..DU000030 where PRODID = 258 and companyID = xx

    You can find the Companyid by running the following script:

    select CMPANYID,CMPNYNAM,INTERID from Dynamics..SY01500

    Last you need to run the following drop scripts against each company you need to reinstall the module for:

    Drop Table PA10702

  • john doel Profile Picture
    335 on at

    Thanks Jonathon.  I'll use that for this particular scenario, but is there something perhaps a little more generic that could be used across all modules?  I ran into this very same scenario with HR.  I put together this script below which seemed to accomplish what was needed.  I'm wondering if there's a better way Microsoft would suggest or it's going to be a moving target per module.

     

    /* Script will return a result set that can be copied/pasted to run to delete all objects 

       from each database for a given product ID.  Change the @PRODID to product ID for which

       objects need deleted.  Once deleted in each database, run the commented out code at 

       bottom that deletes the rows in DU000010, DU000020, DU000030 and DB_Upgrade tables that

       refer to the PRODID.  This should be run in a test environment first and backups should be

       taken before doing this. */

     

    DECLARE @PRODID CHAR(5)

     

    SET @PRODID = '414' --PRODID of product to remove

     

    SELECT 'DROP TABLE ' + a.name 'DROPSTMT' FROM SYSOBJECTS a

    INNER JOIN DYNAMICS.dbo.DU000010 b ON a.name=b.fileOSName

    WHERE xtype = 'U' AND PRODID = @PRODID AND b.fileOSName NOT IN 

    (SELECT fileOSName FROM DYNAMICS.dbo.DU000010 WHERE PRODID <> @PRODID)

    UNION

    SELECT 'DROP PROC ' + a.name FROM SYSOBJECTS a 

    LEFT OUTER JOIN DYNAMICS.dbo.DU000010 b ON a.name LIKE 'zDP_'+RTRIM(b.fileOSName)+'%'

    WHERE xtype = 'P' AND PRODID = @PRODID AND b.fileOSName NOT IN 

    (SELECT fileOSName FROM DYNAMICS.dbo.DU000010 WHERE PRODID <> @PRODID)

    ORDER BY DROPSTMT

     

    /* DO THIS LAST!

    DECLARE @PRODID CHAR(5)

     

    SET @PRODID = '414' --PRODID of product to remove

     

    DELETE DYNAMICS.dbo.DU000030 WHERE PRODID = @PRODID

    DELETE DYNAMICS.dbo.DU000010 WHERE PRODID = @PRODID

    DELETE DYNAMICS.dbo.DU000020 WHERE PRODID = @PRODID

    DELETE DYNAMICS.dbo.DB_UPGRADE WHERE PRODID = @PRODID

    */

  • Jonathan Fear Profile Picture
    Microsoft Employee on at

    I am not famliar with that script. There really are four things that need to be done per module:

    1. Delete the records for the module in the DB_Upgrade table.

    2. Delete the records for the module in the DU000020 table.

    3. Delete the records for the module in the DU000030 table.

    4. Drop the tables that GP version checks.

  • john doel Profile Picture
    335 on at

    Thanks.  Do you have a list handy of the table each module checks for version information?

  • Jonathan Fear Profile Picture
    Microsoft Employee on at

    We have a list but it is internal only sorry Lance.

  • Gregory Kaeser Profile Picture
    on at

    I have done all these steps and have dropped the tables per the following site dyndeveloper.com/DynModule.aspx and it still gives me the same error.

  • Jonathan Fear Profile Picture
    Microsoft Employee on at

    Hi Greg,

    I would recommend you open a support case for this then. The steps provided should resolve the issue.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Stars!

Congratulations to our 2025 Community Spotlights

Thanks to all of our 2025 Community Spotlight stars!

Leaderboard > 🔒一 Microsoft Dynamics GP (Archived)

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans