MIM/FIM WAL: Null function and clearing an Attribute

Yes we are back to that infamous Null() function which we have tried to use in attribute flows to force FIM MA to continue to have top priority even when it has nothing to contribute. This way the field will remain as blank even though other MAs have value to contribute. Of course it was a failure with much complaints from the FIM community, Msft saying well that is not what that Null function was made for. What exactly was it made for?

I see the Null() function in MIM WAL. I want to clear an attribute so I do

Null() => [//Target/Attrib1]

It works sometimes and let me share when it worked. Within a workflow I have these activities

Activity A

“My test” => [//Target/Attrib1]

Activity B

Null() => [//Target/Attrib1]

Now, here is when it did not work

I go to RCDC GUI and I enter “My test” into Attrib1. I have an MPR that fires off if Attrib1 is modified. I have an action workflow attached to that MPR with this

Null() => [//Target/Attrib1]

Nothing happens. Attrib1 is not cleared. So this is what I used in my workflow to clear Attrib1

RemoveValues([//Target/Attrib1]) => [//Target/Attrib1]

I would say be cautious about using Null() in your workflows


5 thoughts on “MIM/FIM WAL: Null function and clearing an Attribute

  1. Thx for the hint Ike, I used $null > [//Target/Attribute1] with Allow Null flag set, since this variable is not set a null flows to attribute too. Its sometimes a little better to read I think. What do you think about that ?


    • Avoid it Peter. I spent half a day I can’t get back. yes its better to read which is why I was using it until I ran into scenarios where it does not work well. Another engineer also confirms a flaky experience with it in the WAL.


  2. But what to use if I cannot use the Target attribute ?
    Let say for example I have an solution with attributes on a person objects that been used to add the user to a group. Its an multi-value ref. I enter groups to that attribute and a script or MIMWAL add the user to that corresponding groups. After that I need to clear those “feeding” attributes.

    That was the point where I used the above variable (not function) that has always value of null if not set.


  3. Peter, that was exactly the situation i was faced with. So I had a multi-value attribute “AddToGroup”. When Group is added AddToGroup (on the User’s property tab) that triggers an MPR to do some verification (using WAL) and then add the user to a group. At the end I want to clear the AddToGroup. Null() was not clearing it. So I used
    RemoveValues([//Target/AddToGroup]) => [//Target/AddToGroup]


    • Ahh not I get it, seems my brain is on weekend already after that week 😉
      I had a confusion on my mind,

      I’m on a migration from FIM to MIM right know, and since I had to review all PS Script in activities I decided to use MIMWAL which makes no additional effort, so I get rid on more than half of my PS scripts right now.

      Sadly they relasing MIMWAL that late, should have been integrated at least with R2.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s