Target Reconciliation

During source reconciliation, the synchronization process cannot detect situations where no source object exists. In this case, the situation is detected during the second reconciliation phase, target reconciliation.

Target reconciliation iterates through the target objects that were not accounted for during source reconciliation. The process checks each object against the validTarget filter, determines the appropriate situation, and executes the action configured for the situation. Target reconciliation evaluates the following conditions:

  1. Is the target object valid?

    Valid target objects are categorized qualifies=1. Invalid target objects are categorized qualifies=0. Invalid objects include objects that were filtered out by a validTarget script. For more information, see Filter Source and Target Objects With Scripts.

  2. Does the target object have a record in the links table?

    Target objects that have a corresponding link in the links table are categorized link=1. Target objects that do not have a corresponding link are categorized link=0.

  3. Does the target object have a corresponding source object?

    Target objects that have a corresponding object in the source resource are categorized source=1. Target objects that do not have a corresponding object in the source resource are categorized source=0.

The following diagram illustrates the categorization of three sample objects during target reconciliation:

sync-situations3
Figure 1. Object Categorization During the Target Synchronization Phase

Based on the categorizations of target objects during the target reconciliation phase, a situation is assessed for each remaining target object. Not all situations are detected in all synchronization types. The following table describes the set of situations that can be detected during the target reconciliation phase:

Situations Detected During Target Reconciliation
Target Qualifies Link Exists Source Exists Source Qualifies Situation Default Action Possible Actions

NO

n/a

n/a

n/a

TARGET_IGNORED [1]

IGNORE

DELETE, UNLINK, REPORT, NOREPORT, ASYNC

YES

NO

NO

n/a

UNASSIGNED

EXCEPTION

IGNORE, REPORT, NOREPORT, ASYNC

YES

YES

YES

YES

CONFIRMED

UPDATE target object

IGNORE, REPORT, NOREPORT

YES

YES

YES

NO

UNQUALIFIED [2]

DELETE

UNLINK, EXCEPTION, IGNORE, REPORT, NOREPORT, ASYNC

YES

YES

NO

n/a

SOURCE_MISSING [3]

EXCEPTION

DELETE, UNLINK, IGNORE, REPORT, NOREPORT, ASYNC

Based on this table, the following situations would be assigned to the previous diagram:

sync-situations4
Figure 2. Situation Assignment During the Target Synchronization Phase

1. During target reconciliation, the target becomes unqualified by the validTarget script.
2. Detected during reconciliation and target change events
3. Detected during reconciliation and target change events