Stuck batches are one of the most common issues in GP. This is caused by a number of issues including:
- Power fluctuations
- Data corruption (batch posted but not deleted from SY00500)
- Transaction errors in batch but Batch Recovery window will not process
- 3rd party product issues
- Workstation disconnecting from the server (network connectivity issue or loosing remote connection via citrix or Terminal Server)
The SQL scripts to fix this is found in tech doc #850289. Here they are if you don't have access to PartnerSource. Make sure you kick everyone out of GP and backup up your databases.
DELETE DYNAMICS..ACTIVITY
DELETE DYNAMICS..SY00800
DELETE DYNAMICS..SY00801
DELETE TEMPDB..DEX_LOCK
DELETE TEMPDB..DEX_SESSION
Then use this script to update the status of the batch:
UPDATE SY00500 SET MKDTOPST=0, BCHSTTUS=0 where BACHNUMB='XXX'
Mariano Gomez reminds us of MBS Automated Solutions on his
blog. One of the
automated solutions in the system series is a batch stuck in posting routine that does this for you manually.
I rarely use any of the above if I have access to SQL. It is a pain to kick people off of the system in the middle of the day so will use enterprise manager/management studio to do this as follows:
- Open Enterprise Manager/Management Studio
- Choose + sign next to databases
- Choose + sign next to database (Dynamics or company database)
- Highlight tables and a list of tables should show up on the review pane
- Find Table and right click, Choose open table
- Delete rows (SY00800, SY00801, or Dex_LCK) or update fields manually by putting your cursor in the field you want to update (MKDTOPST and BCHSTTUS fields in SY00500 table).
>
This is somewhat dangerous if you are careless or are unfamiliar with SQL. Still should have a backup when working on the database.