Custom Search Match Fields
Search/Match is an extremely powerful feature in PeopleSoft. Unfortunately, the delivered functionality is restricted to matching on only a few fields and PeopleSoft provides little to no information on how to extend functionality to additional fields. In fact, the “Setting Up Search/Match” PeopleBook is littered with the statement: Warning! Adding new search fields require significant programming effort and is not recommended.
For example, out of the box you can Search/Match on first name, last name, DOB, SSN and a few other fields. But what if you want to Search/Match on Driver’s License? Or provincial/state-wide Student ID?
I started out writing a full background and explanation of everything that I did but it became worthy of a movie script so the abridged version below will have to suffice. I’d be happy to provide more details should anyone actually need it.
The information below applies specifically to a case where a post-secondary institution client wanted to search/match on a provincial student ID for incoming transcripts and applications. One of the pre-requisites is that the external reference numbers are already associated with the PeopleSoft Employee IDs/Student IDs in the PS_EXTERNAL_SYSKEY and PS_EXTERNAL_SYSTEM tables.
Steps:
1. Create a new Search/Match Result Field definition on PS_EXTERNAL_SYSTEM.EXTERNAL_SYSTEM_ID
2. Add the Search Field to a Search/Match Rule
3. Customize the program to (1) fetch EXTERNAL_SYSTEM_ID and then pass it to the Search/Match logic. In the case of ADTRNPST we write a procedure to fetch EXTERNAL_SYSTEM_ID into $EXT_ID. Then we locate the series of calls to insertsearchchar() and add our own definition:
Do insertsearchchar($SearchDtTm, 'EXTERNAL_SYSTEM_ID', $EXT_ID, #Return_code, $Err_Msg) If #Return_code = 0
4. If appropriate, add functionality to INSERT new EXTERNAL_SYSTEM_IDs in the event that the Search/Match returns no result.
Voila! Search/Matching is now enabled on a non-delivered Search Field.




