Oracle® Identity Manager Connector Guide for PeopleSoft User Management Release 9.0.3 Part Number B32365-01 |
|
|
View PDF |
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 for reconciliation, 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
Adding a Custom Attribute for Reconciliation on PeopleTools 8.4x
To add a custom attribute for reconciliation on PeopleTools 8.22:
In PeopleSoft Application Designer:
Select Open from the File menu. The Open Definition dialog box is displayed.
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.
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.
Select the check box for the required attribute, and then save the message.
For example, select the LOCATION check box.
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:
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);
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;
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.
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
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 .
Delete the old version of the peopleSoftUserMgmt.war
file from the application server deployment directory and the OIM_home
\xellerate\webapp
directory.
Copy the newly created peopleSoftUserMgmt.war
file into the application server deployment directory and the OIM_home
\xellerate\webapp
directory.
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 stepsAdd 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.
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.
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
Restart the Oracle Identity Manager server and client.
To add a custom attribute for reconciliation on PeopleTools 8.4x:
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:
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);
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");
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);
In PeopleSoft Application Designer, copy the contents of the UserMgmtCBRecon.txt
file into the savePostChange
event for the PERSONAL_DATA
component.
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.
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
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 .
Delete the old version of the peopleSoftUserMgmt.war
file from the application server deployment directory and the OIM_home
\xellerate\webapp
directory.
Copy the newly created peopleSoftUserMgmt.war
file into the application server deployment directory and the OIM_home
\xellerate\webapp
directory.
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 stepsAdd 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.
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.
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
Restart the Oracle Identity Manager server and client.