When attempting to add a predefined computer through the console or via a CSV file and an error is thrown, and the SMP Console displays:
The following error occurred on the page 'PredefinedComputerEditor.aspx'
The Notification Server (NS) logs show the following error:
"9/12/2018 1:59:09 PM","Failed to process web request.Exception of type 'System.Web.HttpUnhandledException' was thrown. [System.Web.HttpUnhandledException @ System.Web] at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at Altiris.NS.UI.Controls.PageCachePage.ProcessRequest(HttpContext context) at Altiris.NS.UI.AltirisPage.ProcessRequest(HttpContext context)String or binary data would be truncated.The statement has been terminated. [System.Data.SqlClient.SqlException @ .Net SqlClient Data Provider] at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader() at Altiris.NS.DataAccessLayer.Implementation.Altiris_DeploymentDataAccessClasses.GetMatchedPredefinedComputerData(Guid ResourceGuid) at Altiris.Deployment.Web.PredefinedComputerEditor.ValidateInput() at Altiris.Deployment.Web.PredefinedComputerEditor.PageConfirmationPredefinedCompEditor_ClickApply(Object sender, EventArgs e) at Altiris.WebControls.ButtonState.RaiseClick() at Altiris.WebControls.ButtonListControl.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)SQL Exception details: code=8152, line=32, procedure=spDeployment_GetMatchedPredefinedDataException logged from: at Altiris.NS.UI.AltirisPage.ProcessRequest(System.Web.HttpContext) at System.Web.HttpApplication+CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStepImpl(System.Web.HttpApplication+IExecutionStep) at System.Web.HttpApplication.ExecuteStep(System.Web.HttpApplication+IExecutionStep, Boolean&) at System.Web.HttpApplication+PipelineStepManager.ResumeSteps(Exception) at System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext, AsyncCallback) at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32) at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus&) at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus&) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)HTTP [POST]: http://localhost/Altiris/Deployment/PredefinedComputerEditor.aspx ip: [::1]; languages: [en-US,en;q=0.5]; content-length: [2780]; response: [200 OK]; x-smp-nsversion: [8.1.4528.0];","Altiris.NS.UI.AltirisPage.ProcessRequest","Altiris.NS.UI.dll","11","Errors"
DS 8.x
To determine if the computer being added as a predefined computer is already in the database, a stored procedure name 'spDeployment_GetMatchedPredefinedData' queries the 'Inv_HW_Network_Adaptor' table for a Network Address (MAC address). This value is put into a temporary table.
The problem is the Network Address (MAC address) returned from the 'Inv_HW_Network_Adaptor' table is longer than the column length specified for the 'MAC Address' column specified in the the temporary table. The data cannot be trucated and a failure occurs.
E.g The value retured from 'Inv_HW_Network_Adaptor' is 60 characters in length but the column where the data is imported into [MAC Address] can only accept 24 characters.
Open the file 'spdeployment_getmatchedpredefineddatachange.sql' attached to this KB in SQL Manager and execute it. The length of the [MAC Address] column will be increased to 60.