This chapter provides an overview of PeopleSoft Directory Interface for Campus Solutions customers. If you have also licensed the PeopleSoft Enterprise HRMS application, also refer to the Working with PeopleSoft Directory Interface for PeopleSoft HRMS chapter. This chapter also discusses how to:
Load data for Campus Solutions.
Use PeopleSoft Directory Interface with Campus Solutions.
See Also
PeopleSoft Enterprise HRMS 9.0 Application Fundamentals PeopleBook, “Working with PeopleSoft Directory Interface for PeopleSoft HRMS”
PeopleSoft Directory Interface enables you to share data that is maintained in the Campus Solutions database with the Lightweight Directory Access Protocol (LDAP) directory, simplifying directory setup and maintenance.
Before you can use the PeopleSoft Directory Interface, you must first select the product on the Installation page (Set Up HRMS, Install, Installation Table, Products).
After you set up PeopleSoft Directory Interface, you can load the data into the directory using either the Directory Load process or the DSMAPINPUT FullSync process.
The Directory Load process sometimes experiences performance issues when loading a large volume of data. To avoid these issues, use the DSMAPINPUT FullSync process to load person data (instead of using the Directory Load process).
Note. Both the DSMAPINPUT FullSync and the Directory Load processes overwrite any existing data in the directory. Use one or the other. The Directory Load process is documented in the PeopleSoft Directory Interface PeopleBook.
See Also
PeopleSoft Enterprise Components for PeopleSoft HRMS and Campus Solutions 9.0 PeopleBook: PeopleSoft Directory Interface
This section discusses how to:
Access sample mappings and delivered messages.
Use sample mappings.
Review delivered messages.
Use best practices when working with maps.
If you have licensed PeopleSoft Directory Interface, the system provides sample mappings and messages for both HRMS applications and Campus Solutions applications.
See Also
PeopleSoft Enterprise Components for PeopleSoft Enterprise HRMS and Campus Solutions 9.0 PeopleBook: PeopleSoft Directory Interface
To use sample mappings that are delivered with the PeopleSoft system, establish directory IDs in the Directory Configurations component and add a directory ID to the mappings. The sample mappings use schema objects from a standard Novell eDirectory.
For Campus Solutions customers, PeopleSoft Directory Interface delivers two sets of sample maps for Applicant, Advisor/Instructor, Student and CS Person. One set is for the use of a hierarchical directory interface tree (that contains multiple nodes, such as organizational unit ou or location l), and one set for the use of a flat directory interface tree (for example that has no node in between the common name cn and the organization o). The sample map names delivered for a flat directory interface tree end with _FLAT.
The hierarchical sample maps are useful for customers that have licensed the HRMS application and are using maps similar to the ones provided for HRMS. Even if the student population (mostly persons of interest, POIs) will likely not be assigned a department and a location, you can set a default value inside the maps for these two nodes. Set up DN default values on the DN Defaults page (Enterprise Components, Directory Interface, Mappings, Directory Maps, DN Defaults). When you set up DN default values, you allow the system to use the same DN for all of the person IDs, regardless of whether they have the necessary data to be placed underneath a node. If a POI is hired at a later time and assigned a department ID and a location, PeopleSoft Directory Interface moves the person into the newly specified department and location branches, In this way, PeopleSoft Directory Interface ensures that only one entry exists in the directory for a specific person.
Note. The system uses DN default values only if the values of the Record field where they're defined are blank; if the Force check box is selected, the system overwrites the Record. You can use DN default values to force all POIs without a department ID and location into a predefined directory branch by setting the appropriate values on the DN defaults page.
The PeopleSoft Common Components: PeopleSoft Directory Interface PeopleBook explains how to set up a DN.
Hierarchical sample maps have the following structure:
Campus Solutions Sample Directory Interface tree: hierarchical
The flat maps style can be used for Campus Solutions customers that have not licensed the HRMS application. It keeps the data in the directory placed under the same node and also prohibits duplicate entries. Note that flat maps do not require you to use DN default values.
Flat sample maps have the following structure:
Campus Solutions Sample Directory Interface tree: flat
Note. Even if PeopleSoft Directory Interface delivers hierarchical maps for HRMS, you could use a flat tree instead, where no nodes exist between the common name cn and the organization o.
See Also
Enterprise PeopleTools PeopleBook: Security Administration
The following sections describe the delivered sample messages and PeopleCode functions that are related to the directory mappings.
PeopleSoft Directory Interface delivers the following sample messages for mapping Campus Solutions data to the directory.
Message Name |
Directory Entry |
DSPERSON_BASIC_SYNC DSPERSON_BASIC_SYNC_EFF |
Person Entry |
DSADVSR_SYNC DSADVSR_SYNC_EFF DSMAPINPUT_ADVSR |
Advisor/Instructor Entry |
DSAPPLICANT_SYNC DSAPPLICANT_SYNC_EFF DSMAPINPUT_APPLICANT |
Applicant Entry |
DSSTUDENT_SYNC DSSTUDENT_SYNC_EFF DSMAPINPUT_STUDENT |
Student Entry |
DSPERSON_SYNC DSPERSON_SYNC_EFF DSMAPINPUT_PERSON_SA |
CS Person Entry |
See Enterprise PeopleTools PeopleBook: PeopleSoft Integration Broker
See Enterprise PeopleTools PeopleBook: Supported Integration Technologies
See PeopleSoft Enterprise HRMS 9.0 Application Fundamentals PeopleBook, “Working with PeopleSoft Directory Interface for PeopleSoft HRMS”
Message Publish
The following example is Publish PeopleCode that is used in a component's SavePostChange PeopleCode:
Local Message &MSG; Local Rowset &COMPONENTROWSET; &COMPONENTROWSET = GetLevel0(); &MSG = CreateMessage(MESSAGE.WANDA_PERSPUB); &MSG.CopyRowsetDeltaOriginal(&COMPONENTROWSET); &MSG.Publish();
Note. When publishing mapping data, use CopyRowsetDeltaOriginal, not CopyRowsetDelta.
Message Subscription for Hierarchical Maps
The following example shows handler application class in a message when using hierarchical maps:
Declare Function ProcessMappingMessage PeopleCode FUNCLIB_EO_DS.DSMAPMESSAGE FieldFormula; Local Message &msgIn; /* Build the Mapping messages from the input message */ &msgIn = GetMessage(); ProcessMappingMessage(&msgIn, "DSMAPINPUT", True, "");
Message Subscription for Flat Maps
The following example shows handler application class in a message when using flat maps:
Declare Function BuildMappingMessage PeopleCode FUNCLIB_EO_DS.DSMAPMESSAGE FieldFormula; Component string &DSMapname; Local Message &DSMsg; &DSMsg = GetMessage(); &MsgName = &DSMsg.Name; /* Create a SQL statement to retrieve the Names of all the Mappings that reference this Message */ &MapSQL = CreateSQL("SELECT DSMAPNAME FROM PS_EO_DSMAP WHERE MSGNAME = :1 AND STATUS = 'A' ", &MsgName); While &MapSQL.Fetch(&DSMapname) BuildMappingMessage(&DSMsg, &MsgName, True, &DSMapname); End-While;
BuildMapping Message Syntax
The BuildMappingMessage function populates a message with data that is stored in another message and with data from the local database. After populating the message from the two data sources, it calls the mapping function. When all the data required for directory mapping does not exist in the original published message, BuildMappingMessage uses this function instead of directly calling the mapping function:
BuildMappingMessage (input message, output message, on-line flag, [, map name])
The function performs the following tasks:
Copies data in the same record from the input message into the output message.
Searches for empty records in the output message.
Examines data in the message for key values for empty records.
If it finds key values for empty records, populates empty records in the output message by retrieving its current rows in the database.
If a map name is provided, calls the mapping function for the specified name.
Otherwise, it calls the mapping function for each map referencing the output message.
The BuildMappingMessage code is in the FUNCLIB_EO_DS derived record, DSMAPMESSAGE field, Field Formula event.
Parameters
Name |
Type |
Description |
input message |
Message |
Pass the message containing the originally published data. |
output message |
String |
Specify the name of the message to be created, populated, and passed to the mapping function. |
online flag |
Boolean |
Set to true if the function is called after an online message publication. This flag isn’t used by the BuildMappingMessage function, but it is passed to the mapping function. Set to false if the function is called through a background process, such as Directory Audit. |
map name |
String |
Specify the name of the map to be used if the function does not call every map associated with the output message. |
Here is an example:
Local Message &MsgIn; BuildMappingMessage(&MsgIn, "DSMAPINPUT", True, "PERSON_NDS");
To avoid problems with directory maps, confirm the following information:
Confirm that the PeopleSoft Directory Interface product is selected on the Installation page: Set Up HRMS, Install, Installation Table, Products.
Confirm that the PeopleSoft database is properly connected to the directory: Enterprise Components, Directory Interface, Definitions, Directory Configurations, Test Connectivity.
Both the Running Bind Test and Running Search Test fields should display Success.
Confirm that the schema extensions were loaded from the delivered DMS scripts (for CS and for HRMS, if needed): Enterprise Components, Directory Interface, Definitions, Directory Configurations, Schema Management.
You should see rows in the Apply PeopleSoft Schema Extensions grid.
Confirm that you ran the Schema Cache process: Enterprise Components, Directory Interface, Definitions, Schema Caching.
Confirm that the Campus Solutions delivered messages are listed in Integration Broker transactions and are active: PeopleTools, Integration Broker, Node Definitions, Transaction.
Make sure that these Campus Solutions messages are listed with their latest version activated:
DSADVSR_SYNC
DSADVSR_SYNC_EFF
DSAPPLICANT_SYNC
DSAPPLICANT_SYNC_EFF
DSDEPT_SYNC
DSDEPT_SYNC_EFF
DSPERSON_BASIC_SYNC
DSPERSON_BASIC_SYNC_EFF
DSSTUDENT_SYNC
DSSTUDENT_SYNC_EFF
The messages should appear twice: once for Transaction Type = Inbound Asynchronous and once for Transaction Type = Outbound Asynchronous.
Confirm that these messages are also activated in Application Designer: Application Designer, File, Open, Message.
Select the messages listed above, then right-click the version number. Select Message Properties, Use. The Status should be set to Active.
Confirm that the message subscriptions PeopleCode is active for all of the messages listed above: Application Designer, File, Open, Message.
Select the messages listed above, then right-click the XxxxSyncEff message subscription. Select Message Subscription Properties, Use. The Status should be set to Active.
Note. If you are using flat maps, the message subscriptions for messages that end with _EFF should have DSMappingSub activated and UsingDSMAPINPUTSub inactivated. If you are using hierarchical maps, the opposite should be true.
Confirm that the DIR_INTFC and DSCHNL channels are running: PeopleTools, Integration Broker, Monitor, Service Operations Monitor, Channel Status.
Confirm that you can ping the node successfully: PeopleTools, Integration Broker, Monitor, Service Operations Monitor, Note Status.
Confirm that the domain is active: PeopleTools, Integration Broker, Monitor, Service Operations Monitor, Domain Status.
Confirm that you do not see errors in the PS_EO_DSBILOAD_ERR table when triggering a map.
If a map does not trigger the data to the directory, confirm that the messages were triggered: PeopleTools, Integration Broker, Monitor, Service Operations Monitor: Overview and Message Instances tabs.
See Also
Enterprise PeopleTools PeopleBook: PeopleSoft Integration Broker