Forum Discussion

Keyser_Soze's avatar
Keyser_Soze
Contributor
2 years ago

Transformation Rules Order

Hello there,

I made an Event Handler capable of retrieving all 'Transformation' & 'Validation' rejects in order to treat these irregularities automatically. The script creates a 'List' type of transfo rule in the concerned dimensions and populates it with all the rejected source values. 

The script works just fine for most cases. However, if the group of transformation rules has One-To-One mappings then the 'List' rule is just ignored (since One-To-One is prioritized over Lists).

My questions: - Since I cannot afford to go over original One-To-One mappings & change target value to 'ByPass', how can I modify the order of transformation rule types(List then O-t-O then composite etc...) ? If not possible, how can I retransform my data at the end of import using 'List' transfo rules only ? 

  • AndreaF's avatar
    AndreaF
    Contributor III

    Hi, why are values from the One-to-one mappings been added to the list of rejected elements in the first place? If a one-to-one mapping exist, they should not cause a validation issue, therefore they should not then be added to the List transformation rule. Why do you have overlaps?

    • Keyser_Soze's avatar
      Keyser_Soze
      Contributor

      Thanks for your response,
      Well in case you have a validation error saying that the member 'X' is invalid for input, when I add a new transfo list containing the member it would be ignored & I would still get the validation error ... The purpose of the script is to complete the import/validate process no matter what, and then a mail is sent containing all the audit details and modifications applied 
      Same goes for error type: 'Member is not within constraints for ...' 

      • AndreaF's avatar
        AndreaF
        Contributor III

        Ok, I see, you would like to essentially ignore all errors and load anyway. Maybe you can use a derivative rule to map all members giving error to a working member (eg. Member_To_Be_Ignored), and then add the "Member_To_Be_Ignored" in the one-to-one mappings, set it to Bypass, making sure it comes before all other one-to-one mappings by using a lower order number. You would then need to edit the script to populate the derivative rule instead of the transformation List rule.