When using Blueprint 4.2 I am unable to do an Intermin Close on a Period. The error is "Cannot insert the value NULL into column 'DeviceId', table 'psjobs2.dbo.DailyJobSummary'; column does not allow nulls.".

Blog Post created by toleary on Aug 20, 2013

We've noticed this problem when the SQL 2K8 doesn't have the latest SP. To work around the problem please apply the latest Service Pack to it and it should resolve the problem.

You get the following error in DebugView on the TaskMaster thread which contains the same error seen in the log file mentioned in the Administrator when looking at the failure log for why this fails.

[3076] [2011/04/29 13:10:15 PC04 T007 i TaskMaster] [PeriodEndLogger.LogInternal] Period End Close Progress = (34) Adding Daily Summaries Data.
[3076] [2011/04/29 13:10:16 PC04 T007 e TaskMaster] Exception...
[3076] 1) Exception Information
[3076] =============================================
[3076] Exception Type: System.Data.SqlClient.SqlException
[3076] Errors: System.Data.SqlClient.SqlErrorCollection
[3076] Class: 16
[3076] LineNumber: 1
[3076] Number: 515
[3076] Procedure:
[3076] Server: AB-2K2008-BP4-2
[3076] State: 2
[3076] Source: .Net SqlClient Data Provider
[3076] ErrorCode: -2146232060
[3076] Message: Cannot insert the value NULL into column 'DeviceId', table 'psjobs2.dbo.DailyJobSummary'; column does not allow nulls. INSERT fails.
[3076] The statement has been terminated.
[3076] HelpLink: NULL
[3076] StackTrace Information
[3076] =============================================
[3076] at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
[3076] at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
[3076] at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
[3076] at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
[3076] at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
[3076] at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
[3076] at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
[3076] at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
[3076] at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
[3076] at PharosSystems.Library.DataLayer.ExecuteNonQuery(DbCommand command, Int32 commandTimeout)
[3076] at PharosSystems.Library.StoredProc.ExecuteNonQuery(Int32 commandTimeout)
[3076] at PharosSystems.OutputManagement.PeriodEndDataLayer.ExecutePeriodEndClose(PeriodEnd periodEnd, Boolean fullClose, PeriodEndSettings periodEndSettings, SetPeriodEndCloseProgressCallback SetProgress)
[3076] at PharosSystems.OutputManagement.PeriodEndManager.ExecutePeriodEndClose(PeriodEnd& periodEnd, Boolean fullClose, IPeriodEndPlugins periodEndPlugins)
[3076] at PharosSystems.OutputManagement.PeriodEndManager.CloseWorker(Object state)
[3076] [2011/04/29 13:10:16 PC04 T007 e TaskMaster] [PeriodEndLogger.LogInternal] An exception occurred: Cannot insert the value NULL into column 'DeviceId', table 'psjobs2.dbo.DailyJobSummary'; column does not allow nulls. INSERT fails.