This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Synchronizing Integer Column with NULL

I'm trying to push identity data from D1IM.Person to an Oracle database table using the Synchronization Editor in D1IM 7.0.1. The Oracle table has an integer column (EOG_User_ID) that has a unique constraint while allowing NULLs. We do not store the value for, neither do we need to push a value for EOG_User_ID from D1IM. Hence, EOG_User_ID is left out of the mapping. 

The issue is that when the sync runs, Dell sends the value for EOG_User_ID as the integer 0 instead of a NULL. With multiple identities pushed with the same 0 value, this violates the unique constraint in the database and the sync fails. This is the error I'm getting when I run the sync:

ErrorMessages = [2134003] Error executing a full projection! [1777018] Error executing workflow (Workforce Sync) of synchronization project (Workforce Synchronization Project). [1777124] Error executing projection step (Person - wf_worker Export) of projection configuration (Workforce Sync (ba74949b-35b4-46f2-abaf-d253ded407ce)). [1777219] Error executing projection step (Person - wf_worker Export)! [1777165] The value (0) of the key property (EOG_USER_ID@WF_DBA.WF_WORKER) of system object (Doe, John (xxxxxx)) is not unique! Another system object already has this value. at StdioProcessor.StdioProcessor._Execute(Job job) at VI.Projector.JobComponent.ProjectorComponent.Activate(String task) at VI.Projector.JobComponent.ProjectorComponent._FullProjection() ---- Start of Inner Exception ---- at VI.Projector.JobComponent.ProjectorComponent._FullProjection() at VI.Projector.Database.ProjectorExecutor.Project(ISession session, IProjectionConfiguration configuration, ProjectionOption options, ISystemObject adHocObject, CancellationToken cancellationToken) at VI.Projector.Projection.Extensions.Execute(IProjectorEngine engine, IProjectionConfiguration configuration, ProjectionOption options, ISystemObject adHocObject, CancellationToken cancellationToken) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) ---- Start of Inner Exception ---- at VI.Projector.Projection.ProjectorEngine.<ExecuteAsync>d__4.MoveNext() ---- Start of Inner Exception ---- at VI.Projector.Projection.ProjectorEngine.<ExecuteAsync>d__4.MoveNext() ---- Start of Inner Exception ---- at VI.Projector.Projection.ProjectorEngine.<ExecuteAsync>d__4.MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) --- End of stack trace from previous location where exception was thrown --- at VI.Projector.Projection.Internal.ProjectorEngineExecutionHelper.<ExecuteStepAsync>d__24.MoveNext() ---- Start of Inner Exception ---- at VI.Projector.Projection.Internal.ProjectorEngineExecutionHelper.<ExecuteStepAsync>d__24.MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) --- End of stack trace from previous location where exception was thrown --- at VI.Projector.Projection.Internal.ProjectorEngineExecutionHelper.<_ProcessDifferenceSetAsync>d__a5.MoveNext() at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at VI.Projector.Projection.Internal.ProjectorEngineExecutionHelper.<_ReloadSystemObjectPartition>d__172.MoveNext()

How can I force a NULL to be sent for EOG_User_ID?

Thanks in advance,

Febin

Parents Reply Children
No Data