Synch project mapping rule not applied.

I've a sync project (PowerShell) that uses a virtual attribute to transfer membership data, however when I change data in OneIM the synch engine doesn't trigger an update to the target system. I can see that the member mapping rule (membersOut) is identified but it is not applied. The synch direction, workflow and mapping are all set to TargetSystem. There are no contraints such as Do not overwrite or Conditions for Use.

DEBUG (SystemMappingRule membersOut Job be3d24a3-72bb-439f-ae9c-c9c1b89a0055) : Perform mapping between IAMTestGroup@UNSGroupB[] and IAMTestGroup@Vault@VaultGroup[].
TRACE (SystemMappingRule membersOut Job be3d24a3-72bb-439f-ae9c-c9c1b89a0055) : Options:
TRACE (SystemMappingRule membersOut Job be3d24a3-72bb-439f-ae9c-c9c1b89a0055) :
TRACE (SystemMappingRule membersOut Job be3d24a3-72bb-439f-ae9c-c9c1b89a0055) :
TRACE (SystemMappingRule membersOut Job be3d24a3-72bb-439f-ae9c-c9c1b89a0055) :
DEBUG (SystemMappingRule membersOut Job be3d24a3-72bb-439f-ae9c-c9c1b89a0055) : Mapping not applied.

Does anyone know of any factors that might affect whether the mapping is applied?

Cheers,

Craig

  • I can now see that the adhoc projection that is being passed does not include the change to membership as it does in ADS. 

    ADS log extract [WORKING]:

    Object: App-4
    SchemaType: ADSGroup
    ...
    ChangedProperties: XDateSubItem, vrtMembersAllObj

    ..

    - vrtMembersAllObj[Added]: <Key><T>ADSAccount</T><P>c869360f-45dd-407c-aaf1-1cd4383597b4</P></Key>

    PowerShell log extract [NOT WORKING]:

    Object: IAMTestGroup
    SchemaType: UNSGroupB
    ...
    ChangedProperties: XDateSubItem

    ...

    The target system is configured for merge and I can see the action in DPRMemberShipAction. 

    Any ideas?

  • The issue was that the DPRNamspace wasn't set to Posh and so the query to find membership actions (see below) was never matching any records.

    SELECT ObjectKeyBase
    ,ObjectKeyMN
    ,ObjectKeyMember
    ,Operation
    ,UID_DPRMemberShipAction
    FROM DPRMemberShipAction
    WHERE (
    (
    UID_DPRNamespace IN (
    SELECT UID_DPRNamespace
    FROM DPRNamespace
    WHERE (Ident_DPRNamespace = N'Posh')
    OR (AdditionalSystemTypes LIKE N'%Posh%')
    )
    )
    AND
    (ObjectKeyBase = '<Key><T>UNSGroupB</T><P>d40adf72-0de6-4682-bb79-80dd8e4e4265</P></Key>')