Error message in Business Portal in Microsoft Dynamics GP or in Microsoft Dynamics SL: "Value was either too large or too small for an Int16"


Symptoms


You receive one of the following error messages when you work with reports in Business Portal, depending on whether you are using Microsoft Dynamics GP 9.0 or Microsoft Dynamics SL 6.5.

Microsoft Dynamics GP

When you click Manage Reports Catalog, you receive the following error message:
Server Error in '/' Application.
--------------------------------------------------------------------------------



Value was either too large or too small for an Int16.


Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.



Exception Details: System.OverflowException: Value was either too large or too small for an Int16.



Source Error:



An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.



Stack Trace:




[OverflowException: Value was either too large or too small for an Int16.] System.Int16.Parse(String s, NumberStyles style, IFormatProvider provider) +129 Microsoft.BusinessPortal.ReportsPages.VS.ReportRolesAssignments.FillRoles() +186 Microsoft.BusinessPortal.ReportsPages.VS.ReportRolesAssignments.RoleRptID_TextChanged(Object sender, EventArgs e) +32 System.Web.UI.WebControls.TextBox.OnTextChanged(EventArgs e) +108 System.Web.UI.WebControls.TextBox.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent() +26 System.Web.UI.Page.RaiseChangedEvents() +115 System.Web.UI.Page.ProcessRequestMain() +1099






--------------------------------------------------------------------------------

Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET Version:1.1.4322.2032

Microsoft Dynamics SL

When you submit a report, you receive the following error message:
SubmitReportRequest failed. Value was either too large or too small for an Int16.

Cause


This problem occurs for of one of the following reasons, depending on whether you are using Microsoft Dynamics GP 9.0 or Microsoft Dynamics SL 6.5.

Microsoft Dynamics GP

The DEX_ROW_ID field in the ReportCatalog table has a value that is larger than the maximum allowed value of 32767.

Microsoft Dynamics SL

The ReportRequest table that is used by Report Scheduler includes the AppSrvRequest ID field. The AppSrvRequest ID field has a value that is larger than the maximum allowed value of 32767.

Resolution


To resolve this problem, follow the appropriate procedure, depending on whether you are using Microsoft Dynamics GP 9.0 or Microsoft Dynamics SL 6.5.

Microsoft Dynamics GP

Reset the DEX_ROW_ID field. To do this, follow these steps:
  1. Follow the appropriate step, depending on whether you are using Microsoft SQL Server or SQL Server Desktop Engine (also known as MSDE 2000):
    • If you are using Microsoft SQL Server 2000, start SQL Query Analyzer. To do this, click Start, point to Programs, point to Microsoft SQL Server, and then click Query Analyzer.
    • If you are using Microsoft SQL Server 2005, start the SQL Server Management Studio. To do this, click Start, point to Programs, point to Microsoft SQL Server 2005, and then click SQL Server Management Studio.
    • If you are using MSDE 2000, start the Support Administrator Console. To do this, click Start, point to Programs, point to Microsoft Administrator Console, and then click Support Administrator Console.
  2. Run the following statement against the company database.
    DBCC CHECKIDENT ('ReportCatalog', RESEED, 1)
  3. Clear the ReportCatalog table by using SQL Query Analyzer or SQL Server Management Studio. The FRx Integration Service will repopulate the table with the correct value in the DEX_ROW_ID field. To do this, run the following statement against the company database.
    DELETE AppSrvRequest

Microsoft Dynamics SL

Reset the AppSrvRequest ID field. To do this, follow these steps:
  1. Follow the appropriate step, depending on whether you are using Microsoft SQL Server or SQL Server Desktop Engine (also known as MSDE 2000):
    • If you are using Microsoft SQL Server 2000, start SQL Query Analyzer. To do this, click Start, point to Programs, point to Microsoft SQL Server, and then click Query Analyzer.
    • If you are using Microsoft SQL Server 2005, start the SQL Server Management Studio. To do this, click Start, point to Programs, point to Microsoft SQL Server 2005, and then click SQL Server Management Studio.
    • If you are using MSDE 2000, start the Support Administrator Console. To do this, click Start, point to Programs, point to Microsoft Administrator Console, and then click Support Administrator Console.
  2. Run the following statement against the system database.
    Delete from AppsrvRequest
    Delete from Scheduler
    DBCC CHECKIDENT('AppSrvRequest',RESEED, 0)
    Note Following these steps deletes all scheduled requests. You must re-create the scheduled requests.
  3. Clear the ReportCatalog table by using SQL Query Analyzer or SQL Server Management Studio. The FRx Integration Service will repopulate the table with the correct value in the AppSrvRequest ID field. To do this, run the following statement against the company database.
    DELETE ReportCatalog