“在 Microsoft Dynamics GP 的常规账本中发布批处理时,出现错误消息:存储过程 GLpBatchCleanup 返回以下结果:DBMS:0,Dynamics:20486”

本文提供了在 Microsoft Dynamics GP 的常规账本中发布批处理时发生的错误的解决方案。

适用于: Microsoft Dynamics GP
原始 KB 数: 860710

现象

在 Microsoft Dynamics GP 或 Microsoft Business Solutions - Great Plains 中发布一个批处理时,会收到以下错误消息:

存储过程 glpBatchCleanup 返回以下结果:DBMS: 0,Dynamics: 20486

如果选择“ 详细信息”,将收到以下错误消息:

glpBatchCleanup. 尝试更新 Batch 标头时出错

原因

此问题可能具有以下任一原因。

原因 1

如果发布到的当前年份被标记为历史年份,则会出现此问题。 请参阅 解决方法 1

原因 2

如果SY00800表中或SY00801表中存在无效记录,则会出现此问题。 请参阅 解决方法 2

决议 1

若要解决此问题,请更改历史年份的设置。 要执行此操作,请执行以下步骤:

  1. 在 Microsoft Dynamics GP 中,指向Microsoft Dynamics GP 菜单上的工具,指向“设置”,指向“公司”,然后选择“会计周期”。
  2. 选中以清除 “历史年份 ”复选框,然后选择“ 保存”。
  3. 在“交易”菜单上,指向“财务,然后选择“批处理”。
  4. 提交 批处理。

决议 2

若要解决此问题,请清除SY00800表或SY00801表中的记录。 要执行此操作,请执行以下步骤:

  1. 备份 Microsoft Dynamics GP 公司数据库。

  2. 备份 Dynamics 数据库。

  3. 让所有用户注销 Microsoft Dynamics GP。

  4. 停止,然后启动运行Microsoft SQL Server 的计算机以清除临时表。

  5. 启动 SQL Server Management Studio。 若要执行此操作,请使用相应的步骤,具体取决于所使用的程序:

    • 如果使用 SQL Server 2005,请启动 SQL Server Management Studio。 若要执行此操作,请选择“开始,指向“所有程序”,指向Microsoft SQL Server 2005,然后选择“SQL Server Management Studio”。
    • 如果使用 SQL Server 2008,请启动 SQL Server Management Studio。 若要执行此操作,请选择“开始,指向“所有程序”,指向Microsoft SQL Server 2008,然后选择“SQL Server Management Studio”。
    • 如果使用 SQL Server 2012,请启动 SQL Server Management Studio。 若要执行此操作,请选择“开始,指向“所有程序”,指向“SQL Server 2012”Microsoft,然后选择“SQL Server Management Studio”。
  6. 选择 Dynamics 数据库。 然后,使用以下语句从 ACTIVITY 表、SY00800表和SY00801表中删除所有记录:

    DELETE DYNAMICS..ACTIVITY 
    DELETE DYNAMICS..SY00800 
    DELETE DYNAMICS..SY00801
    
  7. 选择 TEMPDB 数据库。 然后,使用以下语句从DEX_LOCK表和DEX_SESSION表中删除所有记录:

    DELETE TEMPDB..DEX_LOCK
    DELETE TEMPDB..DEX_SESSION
    

详细信息

SY00800表是批处理活动表。 此表用于跟踪批的状态。 如果批处理记录在此表中,则批处理正在被编辑、过账、传送或删除。

SY00801表是资源活动表。 通常按批次使用。 此表用于报告某些无法更新的项目或信息。