" When Making Changes or Adding a New External User on Save Attempt Receive a Message Stating ""Oops there was an error"""

THIS ARTICLE APPLIES TO:

Knowledgebases that have been upgraded to 9.0 and later from 8.0.X

ISSUE DESCRIPTION:

Steps:
1. Log in to Admin Portal
2. Go to External Users
3. Locate a user
4. Change the external user profile to anything other than what it's set on
5. Click Save at the bottom
6. Receive an Error message stating "Oops there was an error" or the error below:
 
Server Error in '/' Application.
--------------------------------------------------------------------------------
 
ERROR [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Procedure or function 'sp_knbUpdateExternalUserProfile' expects parameter '@cpUserId', which was not supplied.
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.Data.Odbc.OdbcException: ERROR [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Procedure or function 'sp_knbUpdateExternalUserProfile' expects parameter '@cpUserId', which was not supplied.
 
Source Error:
 
 
Line 295: response.Redirect("/errorNotify.aspx?ec=17&rt=" & server.URLEncode("/index.aspx"))
Line 296: End Select
Line 297: dbconn.Execute(sqlStr)
Line 298: End If
Line 299:end if
 
Source File: D:\Program Files\KnowledgeBase.Net\knowledgebase\applicationprogram\ui\http\ClientPortal\customer\user\setdata.aspx    Line: 297
 
Stack Trace:
 
 
[OdbcException: ERROR [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Procedure or function 'sp_knbUpdateExternalUserProfile' expects parameter '@cpUserId', which was not supplied.]
  Microsoft.VisualBasic.CompilerServices.LateBinding.InternalLateCall(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack, Boolean IgnoreReturn) +798
  Microsoft.VisualBasic.CompilerServices.LateBinding.LateCall(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack) +23
  ASP.setdata_aspx.__Render__control1(HtmlTextWriter __output, Control parameterContainer) in D:\Program Files\KnowledgeBase.Net\knowledgebase\applicationprogram\ui\http\ClientPortal\customer\user\setdata.aspx:297
  System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +27
  System.Web.UI.Control.Render(HtmlTextWriter writer) +7
  System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
  System.Web.UI.Page.ProcessRequestMain() +1926
 
 
 
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.2443; ASP.NET Version:1.1.4322.2460

ROOT CAUSE:

The stored procedure referenced above (sp_knbUpdateExternalUserProfile) is incorrect. It is located in the database ecrmKB. You can resolve this by replacing the stored procedure with this new stored procedure. This behavior is normally found in upgrades that have come from 8.0.X environments.

SOLUTION OR WORK AROUND:

1. Make a backup of the old stored procedure that is currently on the server stored procedure
2. Open a SQL management console and create a new query window
3. Download this stored procedure
4. Open the txt file and copy its content into the new query window created in step 2
5. Execute the query

This fix has been incorperated into KB 9.0.1 hotfix 3.

AFFECTED SYSTEMS & USERS:

Administrators that create external user accounts

ADDITIONAL INFORMATION:

TFS 19002

ESCALATION PROCEDURE:

If you have issues performing this procedure or have additional questions please email our Support team at cimsupport@moxiesoft.com or call us at 1-877-373-7848 option 2.