本文提供了在 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
若要解决此问题,请更改历史年份的设置。 要执行此操作,请执行以下步骤:
- 在 Microsoft Dynamics GP 中,指向Microsoft Dynamics GP 菜单上的工具,指向“设置”,指向“公司”,然后选择“会计周期”。
- 选中以清除 “历史年份 ”复选框,然后选择“ 保存”。
- 在“交易”菜单上,指向“财务”,然后选择“批处理”。
- 提交 批处理。
决议 2
若要解决此问题,请清除SY00800表或SY00801表中的记录。 要执行此操作,请执行以下步骤:
备份 Microsoft Dynamics GP 公司数据库。
备份 Dynamics 数据库。
让所有用户注销 Microsoft Dynamics GP。
停止,然后启动运行Microsoft SQL Server 的计算机以清除临时表。
启动 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”。
选择 Dynamics 数据库。 然后,使用以下语句从 ACTIVITY 表、SY00800表和SY00801表中删除所有记录:
DELETE DYNAMICS..ACTIVITY DELETE DYNAMICS..SY00800 DELETE DYNAMICS..SY00801
选择 TEMPDB 数据库。 然后,使用以下语句从DEX_LOCK表和DEX_SESSION表中删除所有记录:
DELETE TEMPDB..DEX_LOCK DELETE TEMPDB..DEX_SESSION
详细信息
SY00800表是批处理活动表。 此表用于跟踪批的状态。 如果批处理记录在此表中,则批处理正在被编辑、过账、传送或删除。
SY00801表是资源活动表。 通常按批次使用。 此表用于报告某些无法更新的项目或信息。