Skip Headers
Oracle® Identity Manager Connector Guide for PeopleSoft User Management
Release 9.0.2

Part Number B32167-01
Go to Documentation Home
Home
Go to Table of Contents
Contents
Go to Index
Index

Go to previous page
Previous
Go to next page
Next
View PDF

C Adding Custom Attributes for Reconciliation

Standard change-based reconciliation involves the reconciliation of predefined attributes. If required, you can add custom attributes to the list of attributes that are reconciled.


Note:

Before you can add custom attributes, you must complete the connector deployment procedure described in Chapter 2.

The procedure to add a custom attribute for reconciliation depends on the release of PeopleTools that you are using:

Adding a Custom Attribute for Reconciliation on PeopleTools 8.22

To add a custom attribute for reconciliation on PeopleTools 8.22:

  1. In PeopleSoft Application Designer:

    1. Select Open from the File menu. The Open Definition dialog box is displayed.

    2. Select Message from the Definition list, enter USR_MGMT_MSG in the Name Selection Criteria field, and then click Enter. The details of the USR_MGMT_MSG message are displayed.

    3. Click the record to which you want to add custom attributes.

      For example, suppose you want to add the job location attribute, LOCATION, then click JOB under VERSION_1.

    4. Select the check box for the required attribute, and then save the message.

      For example, select the LOCATION check box.

  2. Make the required changes in the PeopleCode given in the UserMgmtCBRecon.txt file. This file is in the OIM_home\xellerate\Scripts directory. The required changes are as follows:

    1. At the end of the SQL statements section, edit the SQL statement to retrieve the column values for the new attribute and store the values in local variables.

      For example, suppose you want to add the job location attribute, LOCATION, to the list of attributes that are reconciled. Then, performing this step involves editing the SQL statement as follows, so that it retrieves the values of the LOCATION column from the JOB table:

      SQLExec("select DEPTID, JOBCODE, LOCATION from ps_job a where emplid =:1 and effdt=(select max(effdt) from ps_job b where a.emplid=b.emplid and effseq =(select max(effseq) from ps_job c where b.emplid = c.emplid and b.effdt=c.effdt))", &empid, &deptid, &jobcd, &location);
      
      
    2. Add the required lines at the end of the block of code for adding data to the XML message. For example, to add the LOCATION column to the JOB tag, add the lines highlighted in bold in the following code sample:

      /* FOR JOB RECORD */
      &MSG_ROWSET.GetRow(1).JOB.JOBCODE.Value = &jobcd;
      &MSG_ROWSET.GetRow(1).JOB.DEPTID.Value = &deptid;
      &MSG_ROWSET.GetRow(1).JOB.LOCATION.Value = &location;
      
      
  3. To extract the contents of the peopleSoftUserMgmt.war file into a temporary directory, enter the following command:

    jar –xvf peopleSoftUserMgmt.war
    
    

    Copies of this file are in the application server deployment directory and the OIM_home\xellerate\webapp directory.

  4. In the attributemap.properties file, add the XPath (key-value entry) of the custom attribute. For example, you can add the following XPath for the LOCATION attribute:

    PSFTBase.Location=//Transaction/DEPT_TBL/LOCATION
    
    
  5. Delete the existing peopleSoftUserMgmt.war file from the temporary directory into which you extract it, and then enter the following command to re-create the file:

    jar –cvf peopleSoftUserMgmt.war .
    
    
  6. Delete the old version of the peopleSoftUserMgmt.war file from the application server deployment directory and the OIM_home\xellerate\webapp directory.

  7. Copy the newly created peopleSoftUserMgmt.war file into the application server deployment directory and the OIM_home\xellerate\webapp directory.

  8. In the Oracle Identity Manager Design Console, make the required changes as follows:


    See:

    Oracle Identity Manager Design Console for detailed instructions on performing the following steps

    1. Add a column corresponding to the new attribute in the User Defined process form, UD_PSFT_BAS. For the example described earlier, you can add the UD_PSFT_BAS_LOCATION column.

    2. Add a reconciliation field corresponding to the new attribute in the resource object, PSFTBase. For the example described earlier, you can add the PSFTBase.Location reconciliation field.

    3. Modify the PSFTBase process definition to include the mapping between the newly added attribute and the corresponding reconciliation field. For the example described earlier, the mapping is as follows:

      PSFTBase.Location = UD_PSFT_BAS_LOCATION
      
      
  9. Restart the Oracle Identity Manager server and client.

Adding a Custom Attribute for Reconciliation on PeopleTools 8.4x

To add a custom attribute for reconciliation on PeopleTools 8.4x:

  1. Make the required changes in the PeopleCode given in the UserMgmtCBRecon.txt file. This file is in the OIM_home\xellerate\Scripts directory. The required changes are as follows:

    1. At the end of the SQL statements section, add a SQL statement to retrieve the column values for the new attribute and store the values in local variables.

      For example, suppose you want to add the department location attribute, LOCATION, to the list of attributes that are reconciled. Then, performing this step involves adding the following SQL statement to retrieve the values of the LOCATION column from the PS_DEPT_TBL table:

      SQLExec("SELECT DESCR, LOCATION FROM PS_DEPT_TBL WHERE DEPTID=:1", &deptid, &deptname, &location);
      
      
    2. Add the required lines at the end of the block of code for adding data to the XML message. For example, to add the LOCATION column to the DEPT_TBL tag, add the lines highlighted in bold in the following code sample:

      &recnode = &fieldtypenode.AddElement("DEPT_TBL");
      &recnode.AddAttribute("class", "R");
      &fields = &recnode.AddElement("DEPTNAME");
      &fields.AddAttribute("type", "CHAR");
      &fields = &recnode.AddElement("LOCATION");
      &fields.AddAttribute("type", "CHAR");
      
      
    3. Add the required lines at the end of the block of code for adding data to the XML message. For example, to add the LOCATION column to the DEPT_TBL tag, add the lines highlighted in bold in the following code sample:

      &datarecnode = &transnode.AddElement("DEPT_TBL");
      &datarecnode.AddAttribute("class", "R");
      &datafldnode = &datarecnode.AddElement("DEPTNAME");
      &textnode = &datafldnode.AddText(&deptname);
      &datafldnode = &datarecnode.AddElement("LOCATION");
      &textnode = &datafldnode.AddText(&location);
      
      
  2. In PeopleSoft Application Designer, copy the contents of the UserMgmtCBRecon.txt file into the savePostChange event for the PERSONAL_DATA component.

  3. To extract the contents of the peopleSoftUserMgmt.war file into a temporary directory, enter the following command:

    jar –xvf peopleSoftUserMgmt.war
    
    

    Copies of this file are in the application server deployment directory and the OIM_home\xellerate\webapp directory.

  4. In the attributemap.properties file, add the XPath (key-value entry) of the custom attribute. For example, you can add the following XPath for the LOCATION attribute:

    PSFTBase.Location=//Transaction/DEPT_TBL/LOCATION
    
    
  5. Delete the existing peopleSoftUserMgmt.war file from the temporary directory into which you extract it, and then enter the following command to re-create the file:

    jar –cvf peopleSoftUserMgmt.war .
    
    
  6. Delete the old version of the peopleSoftUserMgmt.war file from the application server deployment directory and the OIM_home\xellerate\webapp directory.

  7. Copy the newly created peopleSoftUserMgmt.war file into the application server deployment directory and the OIM_home\xellerate\webapp directory.

  8. In the Oracle Identity Manager Design Console, make the required changes as follows:


    See:

    Oracle Identity Manager Design Console for detailed instructions on performing the following steps

    1. Add a column corresponding to the new attribute in the User Defined process form, UD_PSFT_BAS. For the example described earlier, you can add the UD_PSFT_BAS_LOCATION column.

    2. Add a reconciliation field corresponding to the new attribute in the resource object, PSFTBase. For the example described earlier, you can add the PSFTBase.Location reconciliation field.

    3. Modify the PSFTBase process definition to include the mapping between the newly added attribute and the corresponding reconciliation field. For the example described earlier, the mapping is as follows:

      PSFTBase.Location = UD_PSFT_BAS_LOCATION
      
      
  9. Restart the Oracle Identity Manager server and client.