Upon syncing the 1040 products job from AX to POS, the job is failing with the below error from event viewer. Any idea on the root cause and possible solution?
Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.ProcessTargetRequestHeaderException: ProcessTargetRequestHeader failed to execute all write requests. ---> Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.ProcessWriteRequestException: Write request on table:[ax].[RETAILASSORTMENTLOOKUP] failed to execute. ---> Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.RunException: Run() failed while performing write operation on table. ---> Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.PerformWriteOperationException: Query: MERGE [ax].[RETAILASSORTMENTLOOKUP] AS dst
USING (SELECT [ASSORTMENTID],[CREATEDDATETIME],[LINETYPE],[PRODUCTID],[RECID],[VALIDFROM],[VALIDTO],[VARIANTID] FROM [#ax_RETAILASSORTMENTLOOKUP_89d28139-c661-4b6f-b548-8be38ea3e407]) AS src
ON (dst.[RECID]=src.[RECID])
WHEN MATCHED THEN
UPDATE SET [ASSORTMENTID]=src.[ASSORTMENTID],[CREATEDDATETIME]=src.[CREATEDDATETIME],[LINETYPE]=src.[LINETYPE],[PRODUCTID]=src.[PRODUCTID],[VALIDFROM]=src.[VALIDFROM],[VALIDTO]=src.[VALIDTO],[VARIANTID]=src.[VARIANTID]
WHEN NOT MATCHED THEN
INSERT ([ASSORTMENTID],[CREATEDDATETIME],[LINETYPE],[PRODUCTID],[RECID],[VALIDFROM],[VALIDTO],[VARIANTID])
VALUES (src.[ASSORTMENTID],src.[CREATEDDATETIME],src.[LINETYPE],src.[PRODUCTID],src.[RECID],src.[VALIDFROM],src.[VALIDTO],src.[VARIANTID]);
DROP TABLE [#ax_RETAILASSORTMENTLOOKUP_89d28139-c661-4b6f-b548-8be38ea3e407];
---> System.Data.SqlClient.SqlException: Violation of UNIQUE KEY constraint 'I_1305966847_-835757873'. Cannot insert duplicate key in object 'ax.RETAILASSORTMENTLOOKUP'. The duplicate key value is (5637144576, 5637239078, 0, 1).
The statement has been terminated.
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.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.SCSqlWriteRequestRunner.PerformWriteOperation(SqlConnection connection, SqlTransaction transaction)
--- End of inner exception stack trace ---
at Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.SCSqlWriteRequestRunner.PerformWriteOperation(SqlConnection connection, SqlTransaction transaction)
at Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.SCSqlWriteRequestRunner.Run(SqlConnection connection, SqlTransaction transaction)
--- End of inner exception stack trace ---
at Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.SCSqlWriteRequestRunner.Run(SqlConnection connection, SqlTransaction transaction)
at Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.SCSqlTargetRequestHandler.ProcessWriteRequest(SqlConnection connection, SqlTransaction transaction)
--- End of inner exception stack trace ---
at Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.SCSqlTargetRequestHandler.ProcessWriteRequest(SqlConnection connection, SqlTransaction transaction)
at Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.SCSqlTargetRequestHandler.ProcessTargetRequestHeader(ISCTargetRequestHeader targetRequestHeader)
--- End of inner exception stack trace ---
at Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.SCSqlTargetRequestHandler.ProcessTargetRequestHeader(ISCTargetRequestHeader targetRequestHeader)
at Microsoft.Dynamics.Retail.SynchClient.Core.DownloadAgent.ApplySessionFileToClientDatabase(SessionManager sessionMgr, String fileName)