Share via


在銷售訂單處理中開啟 [銷售交易專案] 視窗時發生「您先前的交易層級張貼會話尚未完成處理」錯誤

本文提供您 先前的交易層級張貼會話未完成處理 錯誤的解決方式,當您嘗試在 Microsoft Dynamics GP 或 Microsoft Business Solutions - Great Territory 的銷售訂單處理中開啟 [銷售交易專案] 視窗時,可能會發生此錯誤。

適用于: Microsoft Dynamics GP
原始 KB 編號: 852623

徵狀

當您嘗試在 Microsoft Dynamics GP 或 Microsoft Business Solutions - Great 的 Microsoft Business Solutions 中開啟銷售訂單處理中的 [銷售交易專案] 視窗時,可能會收到下列錯誤訊息:

您先前的交易層級張貼會話尚未完成處理。 請留出時間讓它完成。 如果您認為它已失敗,請註銷 Great Analytic,然後重新登入以復原交易。

注意事項

若要開啟 [銷售交易專案] 視窗,請選取 [ 交易],指向 [ 銷售],然後選取 [ 銷售交易專案]

原因

當SY00500數據表、SY00800數據表或SOP10100數據表中的記錄鎖定時,可能會發生此問題。 記錄的批次編號為空白,或使用者標識符會列為批次編號。

解決方案

如果要解決這個問題,請依照下列步驟執行。

  1. 讓所有用戶結束 Microsoft Dynamics GP。

  2. 備份公司資料庫。

  3. 在 SQL 查詢分析器中,針對 DYNAMICS 資料庫在SY00800數據表上執行下列 delete 語句。

    DELETE SY00800
    
  4. 針對公司資料庫執行下列兩個語句,以尋找SY00500數據表中的問題記錄。

    注意事項

    在下列語句中, xxx 代表包含錯誤的使用者識別碼。

    SELECT * from SY00500 where BACHNUMB = ''
    SELECT * from SY00500 where BACHNUMB = 'xxx'
    
  5. 如果您有以空白 NUMNUMB 字段傳回的記錄,請使用下列 delete 語句。

    DELETE SY00500 where BACHNUMB = ''
    
  6. 如果您的記錄在 [] 字段中以使用者標識符傳回,請使用下列 delete 語句。

    注意事項

    在下列語句中, xxx 代表包含錯誤的使用者識別碼。

    DELETE SY00500 where BACHNUMB ='xxx'
    
  7. 確認您可以在 [銷售交易專案] 視窗中選取現有的檔案。 若要開啟此視窗,請選取 [ 交易],指向 [ 銷售],然後選取 [ 銷售交易專案]。 如果您要刪除現有的檔案,請選擇 [ 刪除]。 如果您想要將現有檔停用,請選取 [Void]

  8. 如果您繼續收到錯誤訊息,或如果您無法在 [銷售交易專案] 視窗中選取現有的檔,請在 SQL 查詢分析器中針對公司資料庫執行下列腳本,以找出SOP10100數據表中的問題記錄。

    注意事項

    在下列腳本中, xxx 代表包含錯誤的使用者識別碼。

    SELECT BACHNUMB,* from SOP10100 where BACHNUMB = '' SELECT BACHNUMB,* from SOP10100 where BACHNUMB = '<xxx>'
    SELECT * FROM SOP10200 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = 'xxx')
    SELECT * FROM SOP10200 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = ' ')
    SELECT * FROM SOP10102 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = 'xxx')
    SELECT * FROM SOP10102 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = ' ')
    
  9. 請注意傳回的任何記錄,然後在 SQL 查詢分析器中執行下列語句,以從SOP10100數據表中刪除問題記錄。

    注意事項

    • 您必須確認交易已張貼至清查模組和應收款款管理模組。 如果交易未張貼到清查模組和 Receivables 管理模組,您必須在執行 delete 語句之後,於 [銷售交易專案] 視窗中重新輸入交易。
    • 在下列語句中, xxx 代表包含錯誤的使用者識別碼。
    DELETE SOP10200 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = 'xxx')
    DELETE SOP10200 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = ' ')
    DELETE SOP10102 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = 'xxx')
    DELETE SOP10102 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = ' ')
    DELETE SOP10100 where BACHNUMB = '' DELETE SOP10100 where BACHNUMB = 'xxx'
    
  10. 在 Microsoft Dynamics GP 中,指向 [Microsoft Dynamics GP] 功能表上的 [ 維護 ],然後選取 [ 檢查連結]

  11. 在 [ 數列 ] 列表中,選取 [ 銷售],然後在 [Sales Work ] 數據表群組上執行檢查鏈接程式。

  12. 如果交易未張貼在 [應收款專案管理] 模組和 [清查] 模組中,請在 [銷售交易專案] 視窗中重新輸入交易。