MVEntry - Attribute not Present when a Adding a new record
Hi there, I am trying to populate a MVEntry value using the MapAttributeForImport event on a new entry but when I test to see if the MVEntry Attribute IsPresent it returns false. I have tested it with update requests and the MVEntry Attribute IsPresent is True. This means that i am unable to populate the MVEntry with my own calculated value. Please could you advise as to how i could populate this or should i be doing this differently? - Bradley
June 15th, 2011 2:31am

Not sure what you mean, when you check "IsPresent" at the first time you receive a "False" but when checking it for a second time (Update) you receive a "true" when checking IsPresent? And you did not set any value for this attribute in the metaverse? I always check first for "IsPresent" and then check if the value does not equal "" to check if the attribute is empty.Need realtime FIM synchronization? check out the new http://www.traxionsolutions.com/imsequencer that supports FIM 2010 and Omada Identity Manager real time synchronization!
Free Windows Admin Tool Kit Click here and download it now
June 15th, 2011 3:40am

Hi Paul, Let me try explain a bit cleared. This occures when I run the import profile on the relevant MA with code in the RuleExtention MapAttributeForImport event. I have a Attribute Flow Rule called AAA with a mapping type of "Import" and with the DataSource Attribute of YYY and the MetaVerse Attribute of XXX. If i update a Value of and existing item in my HR System then the check MVEntry["XXX"].IsPresent will return value is true. If i Add a new Value in my HR System then the check MVEntry["XXX"].IsPresent will return value is false. I have tryed your check of bool Exists = (MVEntry["XXX"] == ""); when i try to do a add new entry but i get an exception with the message "Attribute "XXX" is not Present"; Which is my problem because i can not populate this MVEntry when it is a new entry to the MetaVerse. The code looks something like this if(FlowRuleName.Equals("AAA ")) { bool Exists = MvEntry["XXX"].IsPresent; }
June 15th, 2011 7:06am

I'm not sure, I understand what your issue is. According to your description, everything seems to be as expected. A newly created object doesn't have populated attribute values, which is why IsPresent always has to return false... Cheers, MarkusMarkus Vilcinskas, Knowledge Engineer, Microsoft Corporation
Free Windows Admin Tool Kit Click here and download it now
June 15th, 2011 7:32am

you need to check the source attribute not the destination, no need to check the destination since FIM will update the destination attribute if it exists or add the new destination attribute with the specified value. import attribute flow cs->mv : you need to check the cs attribute presence csentry("x").IsPresent export attribute flow mv->cs : you need to check the mv attribute presence mventry("y").IsPresent
June 20th, 2011 3:34pm

Hi Markus, Seems that i am misunderstanding something. If as you say "A newly created object doesn't have populated attribute values, which is why IsPresent always has to return false..." then how do i populate a the MVEntry with the value i need it to when it is a new provisioned entry? Regards, Bradley
Free Windows Admin Tool Kit Click here and download it now
June 20th, 2011 8:00pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics