Sync-Engine (CSV) M:N (UnifiedNamespace) to Single-File CSV-MVP synchronization

Hi there,

i try to build a bidirectional synchronization project (AdHocProvisioning and Synchronization (TargetSystem is master)) via CSV Connector and running into issues.

OneIM side of the namespace is build up on Unified Namespace (UNSRoot, UNSContainerB, UNSGroupB, UNSAccountB, UNSAccountBHasUNSGroupB).

Target System side is a single csv file which has a fixed format as this file has to be imported in some SaaS-App unfortunately not allowing SCIM. There are some base attributes like "Email, Firstname, Lastname, etc" and for the authorization there is set of MVP-Fields like Module1Roles, Module2Roles, ...' delimited by "|".  Each of these ModuleRoleColumns refer to a designed UNSContainerB-Structure containing n UNSGroupB-Objects (the MVP-values) assigned to n UNSAccountBs within the UNSRoot.

So far I have configured the following:

- Defined the relevant properties of the CSV-File to MVP Properties and set isreference = 1 (selfreference to the csv see last step of the list)

- Created a scope on the IM-Side with System filter on Ident_UNSRoot

- Created a Schemaclass on the IM-Side for Table UNSAccountBHasUNSGroupB for each CSV-Module-Column systemfiltering the objects to corresponding UNSContainerB

    UID_UNSGroupB IN (

        select UID_UNSGroupB
        from UNSGroupB
        where UID_UNSContainerB = (
                select UID_UNSContainerB
                from UNSContainerB
                where CanonicalName = 'IdentUNSRoot/Module1'
            )
    )

    As "Select Objects" has to be filled i added the following condition
   
    XObjectKey<>''

- Created a Mapping with Leftside (UNSAccountB) and rightSide (the csvFile)

- Created some other Object and property matching rules

- Created a virtual property on the IM-Side for each module of type Members of M:N schema types using the created schemaclasses and returning the cn of the referencing UNSBGroupB-Object. I can verify the objects within namespacebrowser.

Now I'm stuck at the following point:

I try to map the virtual property to the MVP column of the CSV using a Multe-reference mapping rule. As the CSV-MVP-column could not be selected i set the value is reference to 1 an referenced it to the csv-file itself. The mapping test fails in both directions


Mapping test from left to right leads to the following exception

-----

[1777239] The mapping rule (Module1Role) was unable to run synchronization between system objects (foo.foo@foo.com (MySystem)) and (foo.foo@foo.com) successfully.
[1777286] Could not create matching member system objects for the other side of the target system for 2 system objects of schema type (UNSGroupB).

Solution

Check the mappings, which map the schema type (UNSGroupB). These must be fully defined. Therefore, they must have a property mapping rule matching each property used by the object matching rule.

-----

Mapping test from right to left does change values.

What i'm missing here?

Thank you in advance

Martin