Converting integer values to string values
I am still very new to FIM but I have experience with ILM 2007 FP1 and rules extensions... Using ILM, I have been able to take an attribute that was one data type and convert to a different data type. Example: HR system stores employeeId as a number value and AD stores that value as a string. This was easily accomplished with .NET but not so easy with FIM functions... Here is my error: Microsoft.MetadirectoryServices.FunctionEvaluationException: Error encountered during evaluation of Sync Rule: 'INBOUND HR User'. Details: Data type of destination attribute, 'String', is different from the value to store, 'System.Int64'. at Microsoft.MetadirectoryServices.FunctionLibrary.AttributeFlowMappingHandler.ExecuteInboundTransformation(CSEntry csentry, MVEntry mventry, String strSyncRuleGuid, String xmlExpression) Here is what I tried: IIF(Eq(EmployeeId,0), LeftPad("NonEmployeeId", 6, "0"), EmployeeId) 'This checks to see if EmployeeId = 0 and if it is then pad NonEmployeeId with 0 upto 6 characters and flow to EmployeeId attribute in FIM, if EmployeeId <> 0 then flow EmployeeId to EmployeeId attribute in FIM. I have since realized that LeftPad works only with a string and also that my destination attribute is a string. Is there a way with the FIM functions that I can convert a number to a string? I can't think this is something that has not been thought of or done with FIM.
August 18th, 2010 11:24pm

I think that adding the number to a string should do the trick, i.e. "" + EmployeeId should become a string. Hope this helps, PaoloPaolo Tedesco - http://cern.ch/idm
Free Windows Admin Tool Kit Click here and download it now
August 19th, 2010 11:32am

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

Other recent topics Other recent topics