Thursday, November 11, 2010

OIM Howto: Add process form child

There is a number of posts on this blog that talks about managing target system groups by manipulating child form contents.  In a recent OTN IDM discussion thread Deepika posted some useful example code so in order to make the previous posts on this subject more useful I thought it would be a good idea to link in the example.


public voidAddProcessChildData(long pKey){
   
   try {
      tcFormInstanceOperationsIntf f = (tcFormInstanceOperationsIntf)

      getUtility("Thor.API.Operations.tcFormInstanceOperationsIntf ");
      tcResultSet childFormDef = f.getChildFormDefinition(f.getProcessFormDefinitionKey(pKey),f.getProcessFormVersion(pKey));

      long childKey = childFormDef.getLongValue("Structure Utility.Child Tables.Child Key");
      //if there is only 1 child table fo rthe parent form else you need to iterate through result set

      Map attrChildData = new HashMap();
      String groupDN = "someValue";

      attrChildData .put("UD_ADUSRC_GROUPNAME",groupDN);
      f.addProcessFormChildData(childKey,pKey,attrChildData);
   
   }catch (Exception e){
      e.printStackTrace();
   } 
}

3 comments:

  1. hello i am just trying to provision using DB Table Connector in OIM. I took the example from the Connector it docs itself. It has 2 tables. One is parent table and the other is child table. the Child table has roles to provision. i used pre-populate adapters for all the parent and child table fields. the parents and child process form fields are populating properly. Where as in the child table as i see it is roles has to provision since the user ID from the parent table is the foreign key. in the default child process form i have to click add to add the role even though it pre-populates. if i don't click add then the child table wont populate. from this blog i saw AddProcessChildData method so when i create this method basically i create a task and add it via workflow designer in the process task and add this method to that task is that correct or any thing else i have to do

    ReplyDelete
  2. Using the API should work without problems.

    You would need a "auto save child form" option to handle the problem with the prepop adapters for the child forms.

    ReplyDelete
  3. Hi I am facing same issue as Egen.
    Not sure why the pre-populator for child form is not working.
    Any inputs on this?

    ReplyDelete