Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Searching faster and better in PeopleSoft Applications

By Kathiravan Udayakumar
Searching for data or information is a primary and critical activity in any Enterprise application. With a voluminous increase in enterprise data, making searches faster and better has become more challenging and important factor in determining the success of the Enterprise application. In time and age of Google, every user expects search results to be faster and interface to be as simple a Google. A unified interface that can be used to search for data with different formats stored in a complex structure is a mantra in Google World. Therefore, in line with the best practices of Search technology, we had developed a Search tool in PeopleSoft CRM 8.9. Search Tool aids to search data in: Companies & Contacts Leads & Opportunities Attachments in notes of these objects of PeopleSoft CRM System

Key Highlights of the Tool: Single interface to search on various parameters High speed search performance

Example: We can search for Leads containing PeopleSoft as well as Leads or Opportunities created against Hibernia using Single interface. This paper showcases the techniques used in developing Search Tool and describes various search integration capabilities available in the PeopleSoft application. Search Technologies in PeopleSoft: PeopleSoft application can be readily integrated with Verity tools to index records, files and http spiders. Following are different types of indexes. Record-based indexes HTTP spider indexes File system indexes

Record-based indexes These indexes are used to create indexes of data in PeopleSoft tables. Once the index is created, we can use the PeopleCode search application programming interface (API) to search this index. HTTP spider indexes These indexes index a web repository by accessing the documents from a web server. We can control the depth up to which the indexer should traverse. File System Indexes These indexes are similar to HTTP spider indexes, except that the repository that is indexed is a file system. The indexer recognizes a wide variety of document formats, such as Word or Excel documents. Any document that is an unknown format will be skipped by the indexer.

Terminologies used in PeopleSoft Verity Searches Search Index: A search index is a collection of files that is used to quickly find documents of interest. This collection contains a list of words in the indexed documents, an internal documents table containing document field information, and logical pointers to the actual document files. Verity collection: This is the set of files forming a search index. When a user performs a search, the search is conducted against the Verity collection. We can create and maintain our own collections with the Search Design and Search Administration in PeopleTools.

BIF file: This is an intermediate file that is created in the process of building a Verity collection. The BIF file is a text file that is used to specify the documents to be submitted to a collection. It contains a unique key, the document size (in bytes), field names and values, and the document location in the file system.

Style files: These files describe a set of configuration options that are used to create the indexes associated with a collection. Search Tool: An Overview There were various existing provisions in PeopleSoft CRM to search for Contacts, Leads and Opportunities, but these were not intuitive and performance of the searches was slower than user expectation. Search Tool was built to solve these issues and deliver a user-friendly and superior search experience. It uses Record - based indexes for generic objects and File-based indexes for attachments. Using Search Tool we can search for following objects in PeopleSoft CRM System: Leads & Opportunities Companies & Contacts All My Leads & My Opportunities All My Accounts & My Contacts Attachments

Search Tool - Design PeopleSoft Search Engine provides a feature to index various records and link multiple records through a common key. PeopleSoft Collection Building Tool also has a feature to filter the data based on certain conditions. The example below shows the ERD of a Lead Component and how they are linked to each other in a Collection.
PS_RSF_LE_SLS_REP PS_RSF_LEAD LEAD_ID

PS_RSF_LE_CONTACTS

Lead Collection will contain all the above specified tables. This will enable the User to search based on: 1. Leads in which he is owner or Team Member 2. Lead name, Company name or Contact name associated with the Lead

Although the page design looks very simple with a drop-down, text box and a button along with search results section, the Search Tool design and development has been highly complex. Search tool uses in-built search technology available in PeopleSoft to index tables and attachments. Multiple indexes are maintained for each object like lead, opportunity, company and contact. PeopleSoft CRM is built on complex data models, BORM (Business Object Relationship Model) and CDM (Customer Data Model). Business Objects: A business object is any entity that participates in one or more business relationships. The primary key on the business object record, the BO_ID, acts as a pointer to the entity records. This design enables one to create and maintain relationships between different entities without regard to their various key structures. Business objects participate in relationships with other business objects according to their assigned roles. Business object types categorize business objects and enable you to define roles for each type. The business object record also provides a common field (BO_NAME) for naming different entities that participate in relationships. Business Object Role: A business object is associated with a role before it can participate in a relationship. In the business object relationship model, the roles that a business object can play are tracked in the Business Object Role table (BO_ROLE). Delivered roles are associated with company, partner, consumer, site, contact, and worker business objects. You can define additional roles. Business Object Relationship: Business object relationship records (BO_REL) capture a connection between two business objects, each playing a specific role. Company, Person, and other business objects participate in the delivered relationship types. To store very basic information regarding a contact such as: 1. Contact name 2. Address 3. Email 4. Phone 5. Title

Record Name BO BO_NAME BO_REL BO_ROLE BO_CM BO_CM_USE CM

Description Business Object Store Business Object Name Bus Object Relationship Business Object Role Contact Method for Bus Object Usage of Contact Method for Bus Object Contact Method table

We had to use many tables that are shown below. With such a data model in place indexing the data properly and maintaining the key structure and retrieving the search results accurately was one of the major challenges. Results obtained from search APIs are non rowset based results; to manipulate them and show them in a tabular format was also a challenge in developing this tool. Re-indexing the data is done every two hours to ensure the consistency in results between database and search collection. Features of Search Tool: 1. Multiple data point search Search Tool has the capability to search using numerous data points and parameters. A snapshot of the multiple search options is shown below:
Search Company 1. Search Company with Company name 2. Search Company with Customer ID 3. Search Company with State ID Search Contact 1. Search Contact with First name 2. Search Contact with Last name 3. Search Contact with Company name Search Leads & Opportunities 1. As Owner 2. As Team Member 3. As Team Member Manager

2. Simple User Interface Despite the complexity of search, the user interface of the Search Tool is simple and userfriendly.

Performance: A major criterion to judge the performance of a search tool is the time taken to deliver the results. This factor achieves greater importance when it comes to enterprise applications wherein the data volume is large. Unlike PeopleSoft searches which uses database search, Search Tool makes use of search indexes stored in files. Thus, Search Tool has shown significant performance in delivering results in the fastest possible time. Performance statistics of the Normal Search Components and Compass Search Tool are summarized below:

Conclusion: Search being a fundamental and critical component of any ERP system, needs to be fast, efficient as well as convenient to use. Harnessing the PeopleSoft data models and basic search concepts, the Search Tool is a highly useful tool delivering effective performance.

You might also like