Attribute sync is not triggered when the account attribute value is 0

We are facing an issue related to attribute synchronization and behavior inconsistency.

When performing an attribute sync (either manually or through automated process), We’ve observed that:

If the identity attribute ManagerLevel is blank, and the application attribute (e.g., in Application A) ManagerLevel contains any value other than 0, the sync works as expected. The blank value from the identity attribute overwrites the application attribute, and we can see the corresponding Modify operation in the event.

However, in a different scenario, if the identity attribute ManagerLevel is blank, and the account attribute has a value of 0, then the identity attribute synchronization does not trigger at all. We don’t see any events being generated.

Has anyone encountered this behavior before? What could be the reason for the sync not triggering when the identity value is blank and the account value is 0? Any suggestions or insights would be appreciated.

Note : Source is a JDBC type connector. ManagerLevel account attribute is of type int. We’re using SetObject() in connection statement to set int/null value for the specific column.

Hello Ramesh,

did you try to set the value as a boolean? it would be easier to managed the 0/! statements.

Regards,

Pablo

Hi Pablo,

Thanks for your suggestion. The actual problem was resolved as follows:

In the target table, the column was defined with the data type INT. In the ISC account schema, we also defined the data type as INT. Earlier, we tried to set NULL using:

preparedStatement.setNull(index, Types.INTEGER);

However, this did not set the value to NULL. It worked only when we directly set:

column1 = NULL in the query itself.

Attribute Trigger Issue:

We still could not identify why the attribute sync was not getting triggered when the account value was 0 while the identity attribute value was different. To resolve this, we replaced 0 with ZERO, and then the attribute sync was triggered.