4 Replies Latest reply on Mar 19, 2012 12:20 PM by 914712

    OIM 11g: Error while prepopulating process form

    914712
      I have a custom resource, with 4 child tables. When trying to provision the resource to a user when I click through to start populating data, I get the following error:


      Target Class = com.thortech.xl.util.adapters.tcUtilDateOperations
      <Mar 17, 2012 9:23:54 AM EDT> <Error> <XELLERATE.APIS> <BEA-000000> <Class/Method: tcFormInstanceOperationsBean/prepopulateProcessForm encounter some problems: Error occurred while pre-populating process form.>
      <Mar 17, 2012 9:23:54 AM EDT> <Error> <XELLERATE.APIS> <BEA-000000> <Class/Method: tcFormInstanceOperationsBean/prepopulateProcessForm encounter some problems: Column 'PRIMARY ID' not found
      com.thortech.xl.dataaccess.tcDataSetException: Column 'PRIMARY ID' not found
           at com.thortech.xl.dataaccess.tcDataSet.getColumnIndex(tcDataSet.java:651)
           at com.thortech.xl.dataaccess.tcDataSet.getDataType(tcDataSet.java:742)
           at com.thortech.xl.ejb.beansimpl.tcFormInstanceOperationsBean.prepopulateProcessForm(tcFormInstanceOperationsBean.java:3219)
           at com.thortech.xl.ejb.beansimpl.tcFormInstanceOperationsBean.prepopulateProcessForm(tcFormInstanceOperationsBean.java:3130)
           at Thor.API.Operations.tcFormInstanceOperationsIntfEJB.prepopulateProcessFormx(Unknown Source)
           at sun.reflect.GeneratedMethodAccessor1213.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:597)
      ...

      Followed by:


      <Mar 17, 2012 9:23:54 AM EDT> <Error> <XELLERATE.WEBAPP> <BEA-000000> <Class/Method: DirectProvisionOrganizationAction/prepopulateForm encounter some problems: Error occurred while pre-populating process form.
      Thor.API.Exceptions.tcAPIException: Error occurred while pre-populating process form.
           at com.thortech.xl.ejb.beansimpl.tcFormInstanceOperationsBean.prepopulateProcessForm(tcFormInstanceOperationsBean.java:3245)
           at com.thortech.xl.ejb.beansimpl.tcFormInstanceOperationsBean.prepopulateProcessForm(tcFormInstanceOperationsBean.java:3130)
           at Thor.API.Operations.tcFormInstanceOperationsIntfEJB.prepopulateProcessFormx(Unknown Source)
           at sun.reflect.GeneratedMethodAccessor1213.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:597)
      ...

      It is telling me that the 'PRIMARY ID' column is not found, and that is correct, as there is no column called 'PRIMARY ID'

      I have 6 pre-populate tasks on the Parent form. These are all simple UtilityTasks that do the following:

      1: Return Current Date on field name 'Start Date'
      2: Return usr_key on field name 'Initiated By'
      3: Return usr_key on field name 'Updated By'
      4: Return Current Date on field name 'Activity Date'
      5: Return Current Date on field name 'Updated Date'
      6: Return Organization Name on field name 'Organization Name'

      There are no pre-pops other than these 6. None of the 4 child forms have pre-pops associated with them.

      Where can I find what process form is calling the pre-pop on 'PRIMARY ID' ?

      I have dumped the metadata as well, and searched for an event handler / plugin that may be called, but there is nothing there. I only have postprocess handlers defined.

      Please help.

      Thank you.
        • 1. Re: OIM 11g: Error while prepopulating process form
          Leoncio-Oracle
          Hey,

          Check these tables and let me know if it helps you:

          For Pre-pop:
          RAV-->Stores the runtime data mappings for 'Pre-populater' adapters. The data source being an Xellerate form or child table, or a user defined form.

          check RAV_MAP_QUALIFIER

          For Process Form:
          POC -->Stores values for the child tables of the Object/Process form of a resource being provisioned by an access policy
          ODF-->HOLDS OBJECT TO PROCESS FORM DATA FLOW MAPPINGS.


          I hope this helps,

          Thiago L Guimaraes
          • 2. Re: OIM 11g: Error while prepopulating process form
            914712
            I reviewed the RAV, POC, and ODF tables.

            POC and ODF are empty. There is no data within the tables.

            In the RAV table, I see the following for 'select RAV_MAP_QUALIFIER,RAV_MAP_VALUE' from RAV;"


            RAV_MAP_QUALIFIER RAV_MAP_VALUE
            -------------------------------------------------- ------------------------------------------
            Organization ID act_key
            User Key usr_key
            User Login usr_login
            Organization Name act_name
            Middle Initial usr_middle_name
            User Login usr_login
            ADITResource
            User Login usr_login
            Last Name usr_last_name
            Password usr_password
            First Name usr_first_name
            Middle Initial usr_middle_name
            Middle Initial usr_middle_name
            ADITResource
            ADITResource
            Last Name usr_last_name
            Last Name usr_last_name
            First Name usr_first_name
            First Name usr_first_name
            19 rows selected


            I don't see the other form pre-pops that exist... Specifically the date prepops that I have defined. These just seem to be the pre-pop adapters that are associated with USR objects, not the process forms.

            Thank you.
            • 3. Re: OIM 11g: Error while prepopulating process form
              914712
              Bump.

              Anyone have any idea?
              • 4. Re: OIM 11g: Error while prepopulating process form
                914712
                Resolved.

                Had to dump the DB and search. It appears there was a old lookup code reference on an attribute of one of the child forms.

                It seems that the DB had the old value, but the design console had a newer value. It could only be fixed by using SQL Developer and deleting the offending row from the SDP / SDC tables and then reconfiguring the form.

                Thank you.