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

Identity Manager - Unable to update ObjectKeyManager in ADSAccount

I need to update ObjectKeyManager in ADSAccount using a sync workflow (data import mode).

I tried to put in the field the value <Key><T>ADSAccount</T><P>661a0317-2ab1-49c2-96cb-b4c2ff99e356</P></Key> taken from XObjectKey of the Manager ADSAccount.

I got an error with this one (on simulation too):

2018-01-07 16:06:25 +01:00 - \STA-ONEID-01 - VI.Projector.JobComponent.ProjectorComponent - bfde5e75-fb5d-42b9-a295-56a504789013: Errors occured
    [2134003] Error executing synchronization.
    [1777018] Error executing synchronization project (INAZ)'s workflow (INAZ 2 ADSAccount).
    [1777309] Workflow (INAZ 2 ADSAccount) dependencies could not be resolved automatically
    .
    [1777340] The dependency resolution for 16 rules has failed.
    [1777053] The rule (VRT_Manager_Login_Resp) from mapping (INAZ 2 ADSAccount (32c9df47-ef4d-4710-b599-d1a9f53a5bb3)) describes the mandatory reference (ObjectKeyManager@ADSAccount). The referenced type (Active Directory user accounts (ADSAccount)) must be synchronized beforehand but there is no suitable mapping available for this type!
    
    Create a mapping for type (Active Directory user accounts (ADSAccount)), which describes mandatory properties, the scope reference and contains at least one key rule.
       at StdioProcessor.StdioProcessor._Execute(Job job)

It seems that the property must be changed somewhere else but I can't find out where yet.

The other attributes were updated fine.

  • I figured out the issue in a different way, using the value overwrite in the designer. In this way, when I change the manager for an Employee, the same happens to the linked ADSAccount.

    This is the VB code I used:

    If $FK(UID_Person).UID_PersonHead$ <> "" Then
    	Dim ca As String = $FK(UID_Person).FK(UID_PersonHead).CentralAccount$
    	Dim f As ISqlFormatter = Connection.SqlFormatter
        Dim where As String = f.Comparison("SAMAccountName", ca, ValType.String)
    	Value = Connection.GetSingleProperty("ADSAccount", "XObjectKey", where).String
    End If

  • If your use case was:

    - During an import of Person objects, I want to change the Manager in the linked (or normally Full Managed) ADS User objects according to the assigned Manager of the Person.

    the template solution you came up with is somehow best practice.

    Having said that, i should add that it is not recommended to move that functionality into the Sync Project even if it can be done.