Error message when you print a batch edit list or post a batch in General Ledger in Microsoft Dynamics GP: "The stored procedure glpBatchCleanup returned the following results: DBMS 0, Great Plains 20488"

Applies to: Dynamics GP 2010Dynamics GP 2013Microsoft Dynamics GP 2015

Symptoms


When you print a batch edit list or post a batch in General Ledger in Microsoft Dynamics GP, you receive the following error message:
The stored procedure glpBatchCleanup returned the following results: DBMS 0, Great Plains 20488

Cause


Cause 1

This problem may occur if the SY00500 - Posting Definitions Master table is damaged. To resolve this problem, see
Resolution 1.

Cause 2

The stored procedure for glpBatchCleanup may be corrupted. To re-create the stored procedures, see Resolution 2.

Cause 3

Third-party products may be altering the stored procedures incorrectly. For information about how to disable third-party products, see Resolution 3.

Cause 4

There are inconsistencies between the GL work tables for this batch.   See Resolution 4. 

Cause 5

Users are stuck in the GL work tables.   See Resolution 5. 

Cause 6

The user has a permissions issue.   See Resolution 6 

Resolution


Resolution 1 (May get DBMS errors for GP 20488 or 20486)

To resolve this problem, re-create the SY00500 - Posting Definitions Master table. To re-create this table, use one of the following methods.

Note If the SY00500 table contains a trigger, the trigger must be re-created after you follow these steps.

Method 1: Use SQL Maintenance

  1. Make a full backup of Microsoft Dynamics GP.
  2. From the Microsoft Dynamics GP menu, point to Maintenance, and then click SQL.
  3. Click the company database that is receiving the error.
  4. In the Table list, click Posting Definitions Master.
  5. On the right side of the window, click to select every check box, and then click Process.
  6. Click
    Yes when you receive the following message:
    You have selected to drop tables; this will delete any data in them. Are you sure you want to continue?
This procedure re-creates the SY00500 - Posting Definitions Master table. However, you will temporarily lose all unposted batches. To retrieve these unposted batches, run the Check Links program on the sub modules. Then, reconcile the batches for General Ledger. However, this sets any batches that are set to Recurring to
Single Use. You must change these batches back to
Recurring.

To retrieve the batches, follow these steps.

Note If you use the Multicurrency option in Payables Management in Microsoft Dynamics GP, run the Check Links program on the Payables Transaction History Logical file before you run the Check Links program on the Payables Transaction Logical file.
  1. To run the Check Links program on the following files, from the Microsoft Dynamics GP menu, click Maintenance, click
    Check Links, click one of the following series names, and then type the corresponding file name. Follow this step for the following files:
    • Series name: Payables Management

      File name: Purchasing Series - Payables Transaction Logical
    • Series name: Purchase Order Processing

      File name: Purchasing Series - Purchasing Transaction Logical
    • Series name: Receivables Management

      File name: Sales Series - Receivables Open Transaction
    • Series name: Invoicing

      File name: Sales Series - Invoice Work File
    • Series name: Sales Order Processing

      File name: Sales - Sales Work File
    • Series name: Inventory

      File name: Inventory - Inventory Transaction Work file
    • Series name: Bill of Materials

      File name: Inventory - Inventory - Bill of Materials Transactions file
  2. If you use Project Accounting with Microsoft Dynamics GP, you must also run Check Links on the following files. To run Check Links on the following files, on the Microsoft Dynamics GP menu, point to Maintenance, click PA Check Links, click Insert, and then click one of the following table names. Follow this step for the following files:
    • Timesheet Batches – PA Timesheet Transactions
    • Miscellaneous Log Batches – PA Miscellaneous Log Transactions
    • Equipment Log Batches - PA Equipment Log Transactions
    • Inventory Transfer Batches - PA Inventory Transfer Transactions
    • Receivings Batches – PA Purchasing Transactions
    • Revenue Recognition Batches – PA Revenue Recog Transactions
    • Employee Expense Batches – PA Employee Expense Transactions
    • Billing Batches – PA Billing Transactions
  3. If any batches exist in Microsoft Great Plains General Ledger, on the Microsoft Dynamics GP menu, point to Tools, point to Utilities, point to Financial, and then click Reconcile. Click to select the Batches check box, and then click Reconcile to reconcile your batches.

 

Method 2: Use the free toolkit from Professional Services Tools Library

  1. Make a full backup of Microsoft Dynamics GP.
  2. Have all users log off from the system.
  3. Install the Professional Services Tools Library (PSTL). To do this, visit the following CustomerSource website: Note This download is located under Downloads and Updates, Service Packs & Product Releases, Professional Services Tools Library (PSTL) for Microsoft Dynamics (North America Only). Installation instructions are included with the download.
  4. After you install the PSTL, start Microsoft Dynamics GP. When you are prompted to include new code, click Yes.
  5. Log on to Microsoft Dynamics GP as the system administrator.
  6. To add Professional Services Tools Library to the shortcut bar, in your Home series, click Add, click Other Window, expand Technical Service Tools, expand
    Project, click Professional Tools Library, click Add, and then click Done.
  7. On the Home series shortcut bar, click Professional Service Tools. Wait for the SQL objects build. When you are prompted to enter registration keys, click Cancel. You do not have to have registration keys to use this tool.
  8. Click Toolkit, and then click
    Next.
  9. Under Toolkit Options, click
    Recreate SQL Objects, and then click
    Next.
  10. Next to Series, click
    Company.
  11. Next to Table, click
    SY00500.
  12. Under Maintenance Options, click to select the Recreate Selected Table check box, and then click to select the Recreate data for selected table(s) check box.
  13. Click Perform Selected Maintenance.
  14. When you receive the following messages, click
    OK:

    Table will be recreated with data
    SY00500 table will be recreated with data. Verify a backup has been made before proceeding
    SY00500 has been recreated

 

Resolution 2

Re-create the stored procedures for both glpBatchCleanup and glpBatchPost by using Database Maintenance. To do this, follow these steps:
  1. Make sure all users are logged off from Microsoft Dynamics GP.
  2. Click the Start, click All Programs, click Microsoft Dynamics GP, click the version of Microsoft Dynamics GP on which this problem occurs, and then click Database Management.
  3. Enter the Server Name for the Dynamics Server that you are using. For example, use the following:
    COMPUTER_NAME\SERVER_INSTANCE
  4. Click to select the DYNAMICS Database ID check box, and then click Next.
  5. Click to select the Microsoft Dynamics GP check box, and then click Next.
  6. Click to select the Functions check box, and then click Next.

 

Resolution 3

Third-party products may be altering the stored procedures. Disable any third-party products from the Dynamics.set file, and test again. For more information about how to disable third-party products in the Dynamics.set file, click the following article number to view the article in the Microsoft Knowledge Base:
872087 How to disable third-party products or temporarily disable additional products in the Dynamics.set file in Microsoft Dynamics GP
 
 

Resolution 4 - (may get DBMS errors for GP 20488 or 20957)

The information between the GL work tables are inconsistent.  Run the script below against the company database and review the records for this batch in both tables.   If you do not get records from both scripts, then review the whole table to make sure the batch number field is not blank in one table.   The BACHNUMB should be the same between both tables for this batch.   The GL10001 should contain records for the transactions in this batch. 

select * from GL10000 where BACHNUMB = 'xxx'

select * from GL10001 where BACHNUMB = 'xxx'

--update the xxx placeholder with the GL batch name and run against the company database.

 

Resolution 5- (may get DBMS error for GP 20486 from KB 860710)

Users may be stuck in the GP activity table for the GL work tables. 

a.  Ask all users to log out of all companies in Dynamics GP. 

b.  When all users are out of Dynamics GP, these tables should be empty:

SELECT * FROM DYNAMICS..ACTIVITY

SELECT * FROM DYNAMICS..SY00800

SELECT * FROM DYNAMICS..SY00801

SELECT * FROM TEMPDB..DEX_LOCK

SELECT * FROM TEMPDB..DEX_SESSION

c.   Run these scripts to delete any activity returned:

DELETE DYNAMICS..ACTIVITY

DELETE DYNAMICS..SY00800

DELETE DYNAMICS..SY00801

DELETE TEMPDB..DEX_LOCK

DELETE TEMPDB..DEX_SESSION

 

Resolution 6- (may get DBMS error for GP 229)

The 229 reference in the error message indicates a permissions issue.  Run the grant.sql script against both the company and Dynamics databases.  (The grant.sql script can be found in the GP code folder, SQL| UTIL folder)