none
How to solve placeholders of reference attribute - Fim 2010 R2 RRS feed

  • Question

  • I am importing an object(person) from sql which has a reference to second object (department). The connector space search shows the second object type as placeholder and not as department. The department object was created in FIM portal and not joined by or connected to any other MA.

    a) In Portal, there is an object called department. It has an attribute displayName which has Computer Services as value.

    b) The FIMMA has the department object type flowing 4 to/from MV. Am I missing anything in this? Should the displayname be flowed to any other attribute?

    dn<-- (sync rulemapping);MVObjectid<-- <objectid>; DisplayName-->displayName; <dn>-->cdObjectID

    c)sql MA(person object) : has 2 attributes; empID ,dept(reference - department object) (123,Computer Services); import flow has dept to department in MV (direct flow). The preview is showing as Applied Deleted for department and connector space has placeholder.

    Please help!



    • Edited by fim_sc Tuesday, February 18, 2014 8:17 PM
    Tuesday, February 18, 2014 4:58 PM

Answers

  • To pull in multiple object types through a SQL MA you need to setup a view wherein you do two or more queries that are brought together by the UNION clause (not advocating for or against organized labor just explaining how to use SQL ;). Then in FIM Sync engine you configure the MA to point to the view and use the ObjType column to determine which object type each row will be

    Create View dbo.vw_HRFIM AS

    SELECT 'Person' as ObjType, FName, LName, EmpID, DeptID, JobTitle, Null as DepartmentName, Null as CostCenter

    FROM dbo.Employee

    UNION ALL

    SELECT 'Dept' as ObjType, Null as FNAME, Null as LNAME, Null as EmpID, DeptID, Null as JobTitle, DepartmentName, CostCenter


    David Lundell, Get your copy of FIM Best Practices Volume 1 http://blog.ilmbestpractices.com/2010/08/book-is-here-fim-best-practices-volume.html

    • Marked as answer by fim_sc Thursday, February 20, 2014 4:06 PM
    Thursday, February 20, 2014 3:55 PM
  • When you combine objects under the SQL MA, all objects have to have the same anchor columns. Your reference values in one object need to refer to the common anchor values. You have to set up your view to make this happen. Something like:

    SELECT 'Person' as ObjType, 'P:' + EmpID as Anchor, FName, LName, EmpID, 'D:' + DeptID as DeptID, JobTitle, Null as DepartmentName, Null as CostCenter

    FROM dbo.Employee

    UNION ALL

    SELECT 'Dept' as ObjType, 'D:' + DeptID as Anchor, Null as FNAME, Null as LNAME, Null as EmpID, DeptID, Null as JobTitle, DepartmentName, CostCenter

    FROM dbo.Department
    • Edited by Rex Wheeler Thursday, February 20, 2014 9:59 PM
    • Marked as answer by fim_sc Friday, February 21, 2014 5:40 PM
    Thursday, February 20, 2014 9:58 PM

All replies

  • Please read the following article on reference processing

    David Lundell, Get your copy of FIM Best Practices Volume 1 http://blog.ilmbestpractices.com/2010/08/book-is-here-fim-best-practices-volume.html

    Thursday, February 20, 2014 3:33 PM
  • Thanks, David. I read the article already. As the article suggests, both the objects(referring and referenced) should be in the same CS. The example in the article was user and his manager that both the objects are of person type. But in my case, the reference between them is user and department and they are 2 differenct objects types. I dont' know how to get  different 2 objects types in a SQL CS. I imported the person object but how to import the department object to the same CS?

    Thanks!

    Thursday, February 20, 2014 3:44 PM
  • To pull in multiple object types through a SQL MA you need to setup a view wherein you do two or more queries that are brought together by the UNION clause (not advocating for or against organized labor just explaining how to use SQL ;). Then in FIM Sync engine you configure the MA to point to the view and use the ObjType column to determine which object type each row will be

    Create View dbo.vw_HRFIM AS

    SELECT 'Person' as ObjType, FName, LName, EmpID, DeptID, JobTitle, Null as DepartmentName, Null as CostCenter

    FROM dbo.Employee

    UNION ALL

    SELECT 'Dept' as ObjType, Null as FNAME, Null as LNAME, Null as EmpID, DeptID, Null as JobTitle, DepartmentName, CostCenter


    David Lundell, Get your copy of FIM Best Practices Volume 1 http://blog.ilmbestpractices.com/2010/08/book-is-here-fim-best-practices-volume.html

    • Marked as answer by fim_sc Thursday, February 20, 2014 4:06 PM
    Thursday, February 20, 2014 3:55 PM
  • David,

    What would be the anchor in sync engine sql MA? EMPID is null in dept table. Also, we can't use a combination of attributes as anchor as department should be set as reference in sql MA.

    Thursday, February 20, 2014 6:27 PM
  • When you combine objects under the SQL MA, all objects have to have the same anchor columns. Your reference values in one object need to refer to the common anchor values. You have to set up your view to make this happen. Something like:

    SELECT 'Person' as ObjType, 'P:' + EmpID as Anchor, FName, LName, EmpID, 'D:' + DeptID as DeptID, JobTitle, Null as DepartmentName, Null as CostCenter

    FROM dbo.Employee

    UNION ALL

    SELECT 'Dept' as ObjType, 'D:' + DeptID as Anchor, Null as FNAME, Null as LNAME, Null as EmpID, DeptID, Null as JobTitle, DepartmentName, CostCenter

    FROM dbo.Department
    • Edited by Rex Wheeler Thursday, February 20, 2014 9:59 PM
    • Marked as answer by fim_sc Friday, February 21, 2014 5:40 PM
    Thursday, February 20, 2014 9:58 PM
  • Thanks all! It's working perfect!
    Friday, February 21, 2014 5:41 PM