This chapter provides an overview of business attribute usage, lists prerequisites, and discusses how to:
Maintain business attribute definitions.
Load business attribute data tables.
Populate the PeopleSoft Applications Portal User Profile table.
Add new business attributes.
See Also
Administering Content Management Business Attribute Security
Assigning Business Attribute Controls to Managed Content
This feature enables Application Portal administrators to configure business attributes that are associated with portal users by way of the Portal User Profile. These business attributes can include items such as department, job code, location, and so on. Business attributes can be used as controls within PeopleSoft Applications Portal; for example, you can use them to control access to Managed Content. This enables you to target content to a specific subset of users, based on the business attributes assigned to that content and the specific attribute value associated with each user. For example, if you define a business attribute for department, you can designate which department a managed content item is associated with, then only portal users whose user ID is associated with that department would be permitted access to that item.
The business attribute data can be imported from PeopleSoft applications, such as PeopleSoft HCM, or other applications. A set of predefined business attributes for PeopleSoft HCM are provided as sample data, but you can create your own, as needed. To do so you must be familiar with the record structure for that data, because when you configure a business attribute, you must identify the domain table name and key that attribute is based on. Examples provided within this documentation are for configuring and using this feature with PeopleSoft HCM.
Maintaining Business Attributes
Administrators use the Profile Configuration page to set up and maintain business attributes. Using this page, they define the business attributes, designate the database records that contain their values, specify the key field, and indicate whether the attribute is used to control access to managed content.
Assigning Business Attributes to Users
The business attributes that a user is associated with are stored in the PeopleSoft Applications Portal User Profile table (EPPCW_PROF_HDR and EPPCW_PROF_ATT). To assign business attributes to users, you can import the data into the User Profile table. You can use the User HR Data Attributes page to view the attributes associated with a specific user ID.
The User HR Data Attributes page relies on the PeopleSoft User ID to retrieve user profile details. If the data source that populates the User Profile table does not contain the PeopleSoft User ID, it will be necessary to make an association between the User Profile key and the PeopleSoft User ID. For example, in the delivered sample User Profile data source, the HCM Workforce integration contains EMPLID to identify employees, but not the related PeopleSoft User ID. The PeopleTools PSOPRDEFN table, whose key is based on the PeopleSoft User ID, provides a ready-made association between the PeopleSoft User ID and the EMPLID. Therefore, this association requires the EMPLID to be populated in the PSOPRDEFN table in the Applications Portal database. The handler that loads the User Profile can then determine which PeopleSoft User's profile is being updated.
Implementation Steps
The steps to implement business attribute controls are:
Maintain business attribute definitions.
Load the business attribute data tables.
Populate the PeopleSoft Applications Portal User Profile table.
Add new business attributes.
These steps are discussed in the following sections.
See Also
Adding the Portal User Roles to All User IDs
The following items are required to use business attributes:
Configure the Integration Broker integration gateway.
Setup and activate single sign-on (this provides for PeopleTools User Profile synchronization).
See PeopleTools 8.52: Security Administration PeopleBook, “Working with User Profiles Across Multiple PeopleSoft Databases”
This section discusses how to:
Define business attributes.
Review assigned business attributes.
Page Name |
Definition Name |
Navigation |
Usage |
Profile Configuration page |
EPPCW_PROF_CONFIG |
Portal Administration, Profile Management, Profile Configuration |
Define business attributes |
User HR Data Attributes |
EPPCW_VIEWPROFILE |
Portal Administration, Profile Management, View Profile |
Review assigned business attributes. |
Access the Profile Configuration page (Portal Administration, Profile Management, Profile Configuration).
Attribute ID |
Enter a unique identifier for the attribute. This field is used as the attribute key. |
Attribute Label |
Enter a description for the attribute. This is the label that a portal user sees when they select an attribute to assign to managed content items. |
Prompt Table |
Select the record name of the table that contains the values for the attribute. |
Key 1 |
Select the field that is the primary key for the associated prompt table. |
Key 2, Key 3, Key 4 |
Select additional key fields, if applicable. |
Display Order |
Enter a value to specify the order in which the attribute appears in the User HR Data Attributes page. Attributes appear in ascending order based on their display order value. |
Active |
Select to enable usage of the business attribute. Only active attributes appear on the Member Profile page. |
Secure Content |
Select to enable use of the attribute to secure access to managed content. See Administering Content Management Business Attribute Security. |
Access the User HR Data Attributes page (Portal Administration, Profile Management, View Profile).
Select a User ID for which to review attribute values, then click Search.
Note. This page shows all of the defined business data attributes, not just HR data attributes.
This section provides an overview of the business attribute table loading procedure, and discusses how to:
Use a DataMover script to load business attributes.
Use the PeopleSoft Publish utility to load business attributes.
Synchronize business attributes.
See Also
PeopleTools 8.52: Data Management PeopleBook, “Using the Publish Utility”
PeopleTools 8.52: Data Management PeopleBook, “Using PeopleSoft Data Mover”
System administrators are responsible for importing the record definition of the business attribute tables into the PeopleSoft Applications Portal database, if they do not already exist, as well as running the necessary integrations to load the tables. This step needs to be done only once, at implementation time. The tables are used to retrieve the description of the attributes for display on the User HR Data Attributes page. System administrators can use PeopleSoft DataMover scripts or other utilities to export the business attribute source table contents and import them into the Application Portal tables, or use some of the more common integrations that may already exist. For example, when the business attributes data source is PeopleSoft HCM, you can use the HR COMPANY_FULLSYNC service operation, which uses Integration Broker to transport data from PeopleSoft HCM to another node, to load the Company table. For ongoing synchronization, the incremental service operations could be used. The following example describes how to load the business attributes from PeopleSoft HCM.
Loading Business Attributes from PeopleSoft HCM
To load business attribute data from PeopleSoft HCM to PeopleSoft Applications Portal:
Using Application Designer, login to the PeopleSoft HCM database, copy the record definition of the business attribute table and any defined subrecords into a project, then export the project to a file.
For example, for the Department business attribute, you would export the record PS_DEPT_TBL and its Related Language record.
Using Application Designer, login to the PeopleSoft Applications Portal database, import the project from the previous step and build the record definition.
Note. Steps 1 and 2 have been completed for these sample delivered PeopleSoft HCM 9.1 records: BU_UNIT_TBL_HR, COMPANY_TBL, DEPT_TBL, LOCATION_TBL. If you are using a different record version due to a different PeopleSoft HCM release or patch level, you will need to export the record definition from PeopleSoft HCM and import that record definition into the PeopleSoft Applications Portal database.
For the initial data load, populate the tables using either a DMS script or the PeopleSoft Publish utility.
To use a DataMover (DMS) script:
Using DataMover, log in to the PeopleSoft HCM database and export the table to a flat file.
Using DataMover, log in to the PeopleSoft Applications Portal database and import the file from the previous step.
Sample Export DMS Script
This is an example of a DMS script to export company data from PeopleSoft HCM.
set log c:\temp\company_exp.log; set output c:\temp\company.dat; export COMPANY_TBL; export COMPNY_TBL_LANG;
Sample Import DMS Script
This is an example of a DMS script to import the company data that was exported from PeopleSoft HCM into PeopleSoft Applications Portal.
set log c:\temp\company_imp.log; set UPDATE_DUPS; set input c:\temp\company.dat; import *;
To use the PeopleSoft Publish utility:
Configure Integration Broker in PeopleSoft HCM.
Configure Integration Broker in PeopleSoft Applications Portal.
See Configuring Integration Broker in PeopleSoft Applications Portal.
Run the PeopleSoft Publish utility in PeopleSoft HCM.
See Running the PeopleSoft Publish Utility in PeopleSoft HCM.
Verify the results in the PeopleSoft Applications Portal database.
See Verifying the Results in the PeopleSoft Applications Portal Database.
Note. In some cases, improved performance with FULLSYNC messages can be achieved by decreasing the message size to be within the range of 25,000–100,000 bytes.
The following sample configuration describes the steps for the BU_UNIT_TBL_HR full sync:
Configuring Integration Broker in PeopleSoft HCM
To configure Integration Broker in PeopleSoft HCM:
Navigate to PeopleTools, Integration Broker, Integration Setup, Service, and select BUS_UNIT_HR_FULLSYNC
Select the default service operation and set it to active.
Activate the routing to publish to the PeopleSoft Applications Portal node. If no routing exists, add one.
Configuring Integration Broker in PeopleSoft Applications Portal
To configure Integration Broker in PeopleSoft Applications Portal:
Navigate to PeopleTools, Integration Broker, Integration Setup, Service, and select and activate service BUS_UNIT_HR_FULLSYNC. If none exists, add a new service.
Select and activate the default service operation. If this is a new service, add an asynchronous one-way service operation BUS_UNIT_HR_FULLSYNC.VERSION_1 using the corresponding message for the service.
If no message exists, add a rowset-based message called BUS_UNIT_HR_FULLSYNC, version VERSION_1 and add record definition BUS_UNIT_TBL_HR to the root.
If the service operation already exists for the Resource Finder feature and it uses a nonrowset-based message, continue to next step. A new handler will be created downstream to update the business attribute table.
Set the Queue name to match the one for the service operation in HR, for example, HR_SETUP.
Verify that the service operation permission is set. If none exists, set the service operation security to use permission list PAPP9000.
Activate handler. Depending on whether a handler already exists or not, proceed as follows:
If no handler exists, add an application package/class in Application Designer using the sample handler PeopleCode provided in the “Sample Business Attributes Service Operation Handler PeopleCode” appendix. The application package is usually the same name as the service.
In PIA, add a handler to the service operation with the new application class.
If a handler already exists for the Resource Finder feature, in Application Designer add a new application class to the existing application package using the sample handler PeopleCode in the “Sample Business Attributes Service Operation Handler PeopleCode” appendix.
In PIA, add a new handler to the service operation with the newly added application class.
Activate the routing. If none exists, generate an Any-to-Local routing on the General tab of the Service Operation.
Select the Routing Parameters tab and verify the EXTERNAL alias matches the expected incoming message name and version (BUS_UNIT_HR_FULLSYNC.VERSION_1 in this example).
Running the PeopleSoft Publish Utility in PeopleSoft HCM
To run the PeopleSoft Publish utility, complete these steps in PeopleSoft HCM:
Navigate to Enterprise Components, Integration Definitions, Full Data Publish Rules.
Select Service Operation BUS_UNIT_HR_FULLSYNC and verify that it is active. Select Create Message Header and Create Message Trailer if they are not already selected.
Navigate to Enterprise Components, Integration Definitions, Initiate Processes, Full Data Publish.
Add a run control or use an existing one.
Set Service Operation to BUS_UNIT_HR_FULLSYNC and click Run.
Select the Full Table Data Publish process and click OK.
Verify process goes to Success.
Navigate to PeopleTools, Integration Broker, Service Operations Monitor, Monitoring, Asynchronous Services.
Select the Publication Contracts page and verify transaction(s) are successful.
Verifying the Results in the PeopleSoft Applications Portal Database
To verify the results, in PeopleSoft Applications Portal complete these steps:
Navigate to PeopleTools, Integration Broker, Service Operations Monitor, Monitoring, Asynchronous Services.
Select the Subscription Contracts page and verify transaction(s) are successful
Verify the User Profile has been populated by querying the BUS_UNIT_TBL_HR table.
For incremental synchronization of the business attributes, repeat steps 1, 2, and 4 in Using the PeopleSoft Publish Utility to Load Business Attribute Data, using service operation BUS_UNIT_HR_SYNC.
See Using the PeopleSoft Publish Utility to Load Business Attribute Data.
A sample integration based on the Workforce service operation is provided to populate job-related data from the PeopleSoft HCM database. You must configure Integration Broker for the source database and the PeopleSoft Applications Portal database, then run the PeopleSoft Publish utility for the source database, and verify the results in the PeopleSoft Applications Portal database.
To populate the PeopleSoft Applications Portal User Profile table using the delivered service:
Configure Integration Broker in PeopleSoft HCM:
Navigate to PeopleTools, Integration Broker, Integration Setup, Service, and open the WORKFORCE_FULLSYNC service.
Select the default service operation WORKFORCE_FULLSYNC.INTERNAL and set it to active.
Add a routing from PeopleSoft HCM to PeopleSoft Applications Portal.
Select the Routing Parameters tab, and enter the following values to transform the transaction to the VERSION_2 service operation:
External Alias |
WORKFORCE_FULLSYNC.VERSION_2 |
Message.Ver into Transform 1 |
WORKFORCE_FULLSYNC.INTERNAL |
Message.Ver out of Transforms |
WORKFORCE_FULLSYNC.VERSION_2 |
Note. Some earlier PeopleSoft HCM 9.1 builds have WORKFORCE_FULLSYNC.VERSION_2 as the default service operation version instead of WORKFORCE_FULLSYNC.INTERNAL. In that case the transformation step is not needed, as the external alias should match the service operation external alias in PeopleSoft Applications Portal (WORKFORCE_FULLSYNC.VERSION_2).
Note. If a routing already exists for the Resource Finder integration, a separate routing should be created since the Resource Finder routing requires the WORKFORCE_FULLSYNC.VERSION_2 to be transformed to WORKFORCE_FULLSYNC.VERSION_1
Configure Integration Broker in PeopleSoft Applications Portal:
Navigate to PeopleTools, Integration Broker, Integration Setup, Service, and open the WORKFORCE_FULLSYNC service.
Select the service operation WORKFORCE_FULLSYNC_V2.VERSION_2 and set it to active.
Activate the handler.
Activate the Any-to-Local routing.
Select the Parameters tab and verify External Alias = WORKFORCE_FULLSYNC.VERSION_2.
In PeopleSoft HCM, run the PeopleSoft Publish utility:
Navigate to Enterprise Components, Integration Definitions, Full Data Publish Rules.
Select the WORKFORCE_FULLSYNC service and select the Create Message Header and Create Message Trailer options if they are not already selected.
Navigate to Enterprise Components, Integration Definitions, Initiate Processes, Full Data Publish.
Add a run control, or use an existing one. Set Service Operation to WORKFORCE_FULLSYNC and click Run.
Select the Full Table Data Publish option and click OK.
Verify the process status updates to Success.
Navigate to PeopleTools, Integration Broker, Service Operations Monitor, Monitoring, Asynchronous Services.
Go to the Publication Contracts page and verify the transactions are successful.
Verify the results in PeopleSoft Applications Portal.
Access PeopleTools, Integration Broker, Service Operations Monitor, Monitoring, Asynchronous Services.
Access the Subscription Contracts page and verify the transactions are successful.
Verify the user profile has been populated by querying the EPPCW_PROF_HDR table.
Incremental Synchronization of User Profile
Repeat steps 1, 2, and 4, using WORKFORCE_SYNC instead of WORKFORCE_FULLSYNC:
In PeopleSoft HCM use the service operation WORKFORCE_SYNC.VERSION_2 or WORKFORCE_SYNC.INTERNAL transformed to VERSION_2
In PeopleSoft Applications Portal, use service operation WORKFORCE_SYNC_V2.VERSION_2
The delivered service operation, WORKFORCE_FULLSYNC_V2.VERSION_2, extracts only these business attributes for all active jobs from PeopleSoft HCM: business unit, company, department, and location. To add additional business attributes, you can either modify the delivered WORKFORCE_FULLSYNC_V2.VERSION_2 service, or create a custom service.
Modifying the WORKFORCE_FULLSYNC_V2.VERSION_2 Service Operation
To modify the delivered WORKFORCE_FULLSYNC_V2.VERSION_2 service operation to extract additional user profile attributes:
Access the Profile Configuration page (Portal Administration, Profile Management, Profile Configuration) and define the new business attributes.
Load the business attributes table.
Modify the transform programs XSLT_WORKFORCEUSERPROFILE_FS (for the full sync) and XSLT_WORKFORCEUSERPROFILE_SYNC (for the incremental) sync as follows:
In Application Designer, open HTML object
Locate the “attribute” element XSLT, for example: <xsl:element name="attribute">
Within the “attribute” element, duplicate an “attribute” child element and update attributeName, fieldName, fieldValue. The following example shows these elements.
<xsl:element name="attribute"> <xsl:attribute name="attributeName">BUSINESSUNIT</xsl:attribute> <xsl:element name="attributeField"> <xsl:attribute name="fieldName">BUSINESS_UNIT</xsl:attribute> <xsl:attribute name="fieldValue"><xsl:value-of select="(PER_ORG_ASGN/JOB[HR_STATUS='A'])[last()]/BUSINESS_UNIT"/></xsl:attribute> </xsl:element>
Refer to the “Sample XSLT for the WORKFORCE_FULLSYNC User Profile Message” section for details on the delivered XSLT.
See Sample XSLT for the WORKFORCE_FULLSYNC User Profile Message.
Load the User Profile table.
See Populating the PeopleSoft Applications Portal User Profile Table.
Creating a Custom Service
To create your own custom service:
Access the Profile Configuration page (Portal Administration, Profile Management, Profile Configuration) and define the new business data attributes.
Load the business data attributes table.
Create a service to publish from the source database.
If the source database is a PeopleSoft database, you can use the delivered WORKFORCE_FULLSYNC as a model for your custom service, making any changes required for your specific situation.
In PeopleSoft Applications Portal, create a XSL transformation to transform the incoming XML, if applicable.
You can use the delivered XSLT_WORKFORCEUSERPROFILE_FS as a model for the Full Sync XSL transformation and XSLT_WORKFORCEUSERPROFILE_SYNC as a model for the Incremental Sync XSL transformation.
Sample XSLT for the WORKFORCE_FULLSYNC User Profile Message
This section includes an example of XSLT for the WORKFORCE_FULLSYNC User Profile message. The XSLT has the following structure:
For each transaction, there is a top “profile” element
The “profile” element has an attribute “profileType”, such as Employment record.
The “profile” element has child elements “profileKeys” and “attributes”
The “profileKey” elements are nested within “profileKeys” and represent the values that uniquely identify each profile occurrence.
The “attribute” elements are nested within the “attributes” element. The related attribute “attributeName” identifies individual user profile attributes, for example, BUSINESSUNIT.
The “profileKey” and “attributeField” have attribute pairs “fieldName” and “fieldValue”, for example, attributeField fieldName=BUSINESS_UNIT, fieldValue= xsl:value-of select="(PER_ORG_ASGN/JOB[HR_STATUS=’A’])[last()]/BUSINESS_UNIT
<xsl:for-each select="WORKFORCE_FULLSYNC/MsgData/Transaction"> <xsl:element name="profile"> <xsl:attribute name="profileType">EMPLOYMENT_RCD</xsl:attribute> <xsl:element name="profileKeys"> <xsl:element name="profileKey"> <xsl:attribute name="fieldName">EMPLID</xsl:attribute> <xsl:attribute name="fieldValue"><xsl:value-of select="PER_ORG_ASGN/EMPLID"/></xsl:attribute> </xsl:element> <xsl:element name="profileKey"> <xsl:attribute name="fieldName">EMPL_RCD</xsl:attribute> <xsl:attribute name="fieldValue"><xsl:value-of select="(PER_ORG_ASGN/JOB[HR_STATUS='A'])[last()]/EMPL_RCD"/></xsl:attribute> </xsl:element> </xsl:element> <!-- Identify Attribute --> <xsl:element name="attributes"> <xsl:element name="attribute"> <xsl:attribute name="attributeName">BUSINESSUNIT</xsl:attribute> <xsl:element name="attributeField"> <xsl:attribute name="fieldName">BUSINESS_UNIT</xsl:attribute> <xsl:attribute name="fieldValue"><xsl:value-of select="(PER_ORG_ASGN/JOB[HR_STATUS='A'])[last()]/BUSINESS_UNIT"/></xsl:attribute> </xsl:element> </xsl:element> <xsl:element name="attributes"> <xsl:element name="attribute"> <xsl:attribute name="attributeName">DEPARTMENT</xsl:attribute> <xsl:element name="attributeField"> <xsl:attribute name="fieldName">SETID</xsl:attribute> <xsl:attribute name="fieldValue"><xsl:value-of select="(PER_ORG_ASGN/JOB[HR_STATUS='A'])[last()]/SETID_DEPT"/></xsl:attribute> </xsl:element> <xsl:element name="attributeField"> <xsl:attribute name="fieldName">DEPTID</xsl:attribute> <xsl:attribute name="fieldValue"><xsl:value-of select="(PER_ORG_ASGN/JOB[HR_STATUS='A'])[last()]/DEPTID"/></xsl:attribute> </xsl:element> </xsl:element>