管理報告者2012資料集市整合錯誤 "索引超出範圍"

本文提供問題指數的解決方式,當您使用管理報告工具2012資料集市與 Microsoft Dynamics GP 整合時,就會發生 超出範圍的 錯誤。

適用于:   Microsoft Management 報告器2012,Microsoft Dynamics GP
原始 KB 編號:   3029952

徵狀

下列錯誤訊息可能會出現在管理報告動態 GP 資料集市整合中,針對維度值任務:

DimensionValueProvider 至維度值:錯誤文字:索引超出範圍。 必須是非負數且小於集合的大小。

此外,主控管理報告服務的伺服器上的事件檢視器會在 Windows 應用程式記錄檔中顯示下列錯誤詳細資料。

索引超出範圍。 必須是非負數且小於集合的大小。
參數名稱: index
---例外轉儲---
已捕獲例外狀況: [System.object] 索引超出範圍。 必須是非負數且小於集合的大小。
參數名稱: index

堆疊追蹤:
在 SqlDataReader reader DimensionValueProvider 中,CreateGLDimensionValueFromReader (reader,Company cmp) (Word)
在 DimensionValueProvider <ReadObjects> 時,請先進行整合。d__0。 MoveNext ()
在 MapWork OperationType operationType) 上,ProcessRecordsImplementation (

當您嘗試開啟構建區塊或產生報告時,也會發生此錯誤訊息。

原因

如果客戶區段) (資料表中的帳戶有參考,而不存在於帳戶設定表 (SY00300) 或帳戶索引表 (GL00100) 中,則可能會發生此錯誤。

解決方案

注意

在您遵循本文中的指示之前,請確定您有一個完整的資料庫備份副本,您可以在發生問題時進行還原。

  1. 針對 Microsoft Dynamics GP 公司資料庫在 SQL Management Studio 中執行下列查詢,以找出不正確帳戶區段:

    select * from GL40200 where SGMTNUMB not in (select SGMTNUMB from SY00300)
    select * from GL40200 where SGMTNUMB=1 and SGMNTID not in (select distinct ACTNUMBR_1 from GL00100)
    select * from GL40200 where SGMTNUMB=2 and SGMNTID not in (select distinct ACTNUMBR_2 from GL00100)
    select * from GL40200 where SGMTNUMB=3 and SGMNTID not in (select distinct ACTNUMBR_3 from GL00100)
    select * from GL40200 where SGMTNUMB=4 and SGMNTID not in (select distinct ACTNUMBR_4 from GL00100)
    

    根據段數的數目而定,您可能需要調整語句。

  2. 在 SQL 中執行下列語句,以從 GL40200 資料表中刪除錯誤的記錄:

    delete GL40200 where SGMTNUMB not in (select SGMTNUMB from SY00300)
    delete GL40200 where SGMTNUMB=1 and SGMNTID not in (select distinct ACTNUMBR_1 from GL00100)
    delete GL40200 where SGMTNUMB=2 and SGMNTID not in (select distinct ACTNUMBR_2 from GL00100)
    delete GL40200 where SGMTNUMB=3 and SGMNTID not in (select distinct ACTNUMBR_3 from GL00100)
    delete GL40200 where SGMTNUMB=4 and SGMNTID not in (select distinct ACTNUMBR_4 from GL00100)
    
  3. 從 GL40200 資料表中移除記錄之後,請在 Microsoft Dynamics GP 中執行 [帳戶主機] 的 [檢查連結]。

    1. 選取 [ DYNAMICS GP],然後選取 [ 維護 ],然後選取 [ 檢查連結]。
    2. 選取 [ 財務 數列]。 選取 [ 帳戶主要],然後選取 [ 插入 ],然後選取 [確定]
  4. 修正帳戶資料段後,請將管理報告資料集市重新設定為新的資料集市資料庫整合。

    注意

    所有步驟都必須由指派給管理報告安全性中的系統管理員角色的網域使用者完成,該使用者也是伺服器上本機管理員群組的成員。

    1. 開啟管理報告器設定主控台。

    2. 選取 ERP 整合底下的 GP 整合。

    3. 選取 [ 停用整合]。

    4. 選取右上角的 [ 移除 ],以移除整合。

    5. 退出設定主控台。

    6. 啟動 SQL Server Management Studio。

    7. 備份管理報告器資料庫。

    8. 備份資料集市 (通常是 DDM 或 ManagementReporterDM) 資料庫。

    9. 刪除資料超市資料庫。

    10. 開啟 Configuration 主控台。

    11. 停止管理報告器2012處理常式服務。

    12. 停止管理報告器2012應用程式服務。

    13. 啟動管理報告器2012應用程式服務。

    14. 啟動管理報告器2012處理常式服務。

    15. 選取 [檔案 ],然後選取 [ 設定]。

    16. 選取 [ 新增 Microsoft DYNAMICS GP 資料集市]。

    17. 請遵循下列網址以取得 Microsoft Dynamics GP provider 的步驟:

      Microsoft Dynamics ERP 的管理報告器2012:安裝、遷移和設定指南

    18. 完成後,請選取 [在設定主控台 啟用整合 ]。