This chapter provides an overview of the Data Import Application Engine (AE) process (RBIMPORT) and discusses how to:
Set up data import global settings.
Define data import templates.
Edit matching SQL
Run the Data Import process.
View the Data Import process status.
Run the Basics Data AE process.
This section lists prerequisites and discusses:
Data Import process steps.
Matching SQL.
When to use the Basics Data AE process to load basic data.
Before you import data into PeopleSoft Enterprise Customer Relationship Management (PeopleSoft Enterprise CRM), ensure that:
Sort the input file in key field order. For example, when you import multiple contacts to the same company, you must sort the input file on the Company field. This prevents duplicate BO_IDs from being assigned to the same company when all the matching criteria you specified are not met.
The PeopleSoft super user ID has CREATE TABLE privileges for dynamic table creates.
The FTP server is defined so it can store import file attachments.
To do this, modify the RB_IMP_ATTACH URL identifier by using the URLs - URL Maintenance page in PeopleTools.
See Enterprise PeopleTools 8.48 PeopleBook: Server Tools
You define data import global settings.
The Data Import process enables you to:
Batch-load external data from other systems (in flat file format) into the PeopleSoft Enterprise CRM database.
This is mainly used to load companies, contacts and consumers. You also can generate marketing lists from the data you load.
Update existing individual and organization records with profile data for better targeting and personalization of marketing efforts.
Note. You cannot import profile fields of the Text Block data type, although you can import other fields in records that contain text block fields.
Data Import process flowchart
To import data into PeopleSoft Enterprise CRM:
Create a flat file with an accepted delimiter (tab, comma, or semicolon) for the import.
Data import accepts flat files with rows that have a blank address, phone number, and email address.
Define an import template that uses the flat file.
The import template must specify:
Identifying information, such as the template name, role of the imported data, import file fields, import file name, and optionally, audience.
Specifications for mapping between input fields and database fields.
Matching criteria, or the criteria for determining if the imported data matches existing database information.
(Optional) Validate the import template.
You can validate the template setup against the data file contents, by running the data import process with the File Validation Only check box selected.
The file validation step checks the file contents and structure and writes errors to an error file. You can use this file to correct any problems prior to importing data. Examples of validations are: length of fields in the import file compared to field lengths that are in the database, compatibility of data types, and number of delimiters in each row.
Run the import process.
You use the Data Import page to identify the import file, schedule the run, and specify import parameters.
View the status of the import process.
On the View Import Status page, you can view import dates, times, and statuses.
View import results including statistics on the number of inserted, matched, updated, and in-error import rows.
Correct data errors that prevent records from successfully loading and run the Data Import process again.
When the Data Import process runs, it dynamically builds SQL statements that match input files with database fields, based on the matching criteria that you enter. These statements are stored in the stage and matching tables. When you schedule the Data Import process, you can choose to keep these tables and later fine tune the generated SQL to improve data import performance.
Important! You should perform this function only with the assistance of qualified consultants.
One bad change may render the whole Data Import process to be not functional.
See Also
Business Object Relationship Modelling
The Data Import process automatically updates the basic data tables if you have selected the Process Basic Data Summary option on the CDM System Options page. However, situations might arise when you cannot use the Data Import process, for example:
During initial data load.
When you enable a new role or relationship.
If you are updating the BORM from legacy systems and choose not to use the PeopleSoft-provided APIs.
In these cases, you must use the Basic Data Load Application Engine process (BO_BASICS) to update basic data.
See Also
Understanding Business Object Relationship Model Components
To set up data import global settings, use the Data Import Global Settings (RB_IMP_GLB_SETUP) component.
This section discusses how to define data import global settings.
Page Name |
Object Name |
Navigation |
Usage |
RB_IMP_GLB_PG |
Customers CRM, Data Import, Data Import Global Settings, Data Import Global Setup |
Define global settings that are for the Data Import process. |
Access the Data Import Global Setup page.
Enter the default setID. The Data Import process enters the default setID on any target table that requires a set ID while it processes import data. Examples of tables which require setIDs are: RD_PERSON and RD_COMPANY. |
|
Enter the default currency code, which the Data Import process uses for target tables that require a currency code. |
|
Enter a starting integer. Use this field when you create object IDs that are not system-generated. The format of generated IDs is sequence number:counter. For example, if the starting sequence number is 1, and you import a file with 100 companies, the format of the generated IDs is 1:1 through 1:100. A subsequent load of 50 company objects generates IDs 2:1 through 2:50. |
|
Run Security AE(Run Security Application Engine) |
Select this check box to run the security AE process against imported data. If this is not selected, imported data will not be available for applications that utilitize application security. Note. You can run the security AE against the entire database at a later time to make this data available. |
Indicates that tables are dynamically created during the Data Import process, which executes many CREATE TABLE statements during processing. This is necessary to stage the imported data and to perform matching logic. You cannot edit this field. Note. The PeopleSoft super user ID must have Create Table privileges for the process to complete successfully. |
|
Auto number |
Select to enable automatic number generation for imported data. |
Enter the prefix for the staging tables. The staging tables are defined as prefix_numeric value (for example, STG_215). The system assigns numeric values in sequential order. |
|
Last Stage Table Sequence |
Enter a new sequence number, or leave the default, which is the last stage table sequence that the system creates. The system automatically assigns table sequences during the Data Import process. If you enter a new number, the system uses that number as its starting point in the process. |
Enter the tablespace name under which you want the system to create the staging tables. PeopleSoft Enterprise CRM provides the predefined table space name (RDWORK). Note. When performing the Data Import process on an Oracle or DB2 platform, you must define a SQL space name. |
|
Dynamic Index Tablespace Name |
Select PSINDEX for Oracle databases and PSSGIXPT DB2. Tablespace fields are enabled for DB2 and Oracle databases only. Note. If you need to specify a different tablespace, you must manually enter it in Query Analyzer. |
To define data import templates, use the Data Import (RB_IMP_DATA_CONFSR_GBL) component.
This section discusses how to:
Access data import templates.
Define data import templates.
Define import files.
Map source fields to target fields.
Specify concatenated fields.
Define matching criteria.
Verify template creation.
Page Name |
Object Name |
Navigation |
Usage |
RB_IMP_DATA_CONFSR |
Customers CRM, Data Import, Data Import Templates, Data Import |
Access a data import template to modify or add a new template. |
|
RB_IMP_HEADER |
|
Define general information and the role with which the imported data is associated. The role determines the target field tree that appears at mapping time. |
|
RA_LIST_MAIN |
|
Describe the audience for the imported data. For use in PeopleSoft Marketing, you must specify an audience of type Internal using Import. |
|
RB_IMP_FILESPEC |
Click the Next button on the Data Import - Step 1: Define Import Template page. |
Associate the flat file of data and load the header fields from the flat file to the import template. Optionally, assign user-friendly labels to the header fields. |
|
RB_IMPORT_MAP |
Click the Next button on the Data Import - Step 2: Define Import File page. |
Map the source fields that are contained in the flat file to the target fields in the PeopleSoft Enterprise CRM database and define the field requirements. |
|
RB_SEL_MAP_IN_FLD |
Click the Select Target link next to a Field Label on the Data Import - Step 3: Mapping page. |
View the target fields in a tree format to assist with target field selection in the mapping process. |
|
RB_MAP_CONCAT |
Select a Mapping Action of Concatenate in the Advanced region of the Data Import - Step 3: Mapping page and click the Specify Concatenation link. |
Specify the fields and values that are concatenated to form the target field. |
|
RB_IMP_MATCH_ADV |
Click the Next button on the Data Import - Step 3: Mapping page. |
Define the matching rules for the import data. For example, define which existing field or set of fields in the PeopleSoft Enterprise CRM database you want to specify as constituting a match for an individual or organization record. |
|
Matching Secondary Page - Select Target Field page |
RB MATCH SEL FLD |
Click a link in the Select Target column on the Data Import - Step 4: Matching page. |
Select the database field where the import field is stored. |
RB_IMP_CONF_PG |
Click the Save Import Template button on the Data Import - Step 4: Matching page. |
Verify import template creation. |
Access the Data Import page.
The appearance, behavior, and personalization options for this page are controlled by the search definition for the Data Import Template component.
Click to access the Data Import - Step 1: Define Import Template page and create a new import template. |
Access the Data Import - Step 1: Define Import Template page.
Select the role to associate with the import template. All records that are in the file are imported into the CRM database with the selected role. Values are:
Note. The role that you select here determines the objects to which you can map. For example, if you select Consumer, the only fields that are available to map to are those that are defined for the Consumer role. |
|
Enter the source of the information that is contained in the flat file. This field is associated with the template and not with individual records that are in the file. To associate a source with each record, create a text profile field that is called Source and use the Data Import - Step 3: Mapping page to map a constant value into the field. |
|
Displays the import status that the system assigns when you begin to create an import template. Initially, the status is In Process. It stays as such until you complete the steps to define an import template, at which time it changes to Active. |
|
Next |
Click to access the Data Import - Step 2: Define Import File page and proceed to the next page in the import definition process. |
Import as Audience
You can create audiences only for import data with the Consumer or Company/Contact role types.
The Data Import process imports only contact methods with the type of Home when creating audiences with the Consumer role. Other contact method types, such as Business, are ignored. This conforms to the requirements of the Marketing product.
Select an existing audience or click the Transfer to Audience button to define a new audience. The selected audience must have source of Internal Using Importand has a status of either In Design or Designed to import the data into the PeopleSoft CRM database as a discrete audience. If you import the records as an Internal Using Import audience, you can use the audience immediately after import. However, you can't further segment the audience in the Audience Builder. If you want to do further segmentation rather than create an audience at the time of import, create a text profile field called Audience Source, and use the Mapping step to map a constant value in that field for all records. After import, create an internal audience by using the Audience Builder with the first condition “all records that are equal to the constant value that is mapped into the profile field called Audience Source.” |
Access the Data Import - Step 2: Define Import File page.
On initial access to this page when you are defining a new template, the Attach File button is available; the rest of the fields are empty. The Delete File and View File buttons are not available until you attach a file.
Attach File and View File |
Click to browse for and upload a file that contains import data. The Attach File button appears when you first access the page to define a new template; after you upload a file, the button text changes to View File. |
Delete File |
Click to delete the attached file. |
Delimiter |
Select the flat file delimiter Comma, Semicolon, or Tab. |
Header and No Header |
Select to indicate the presence or absence of a header row in the flat file. |
Header Row |
Enter the header row location in the field. If you do not enter a header row number, it defaults to 1. |
Skip Lines |
Enter the number of blank rows in the flat file. |
List Fields From File |
Click to list the field names and labels from the flat file. If the flat file contains a header row, the system populates the Field Name column with the exact names of the fields (for example, lname and fname) that are contained in the header row of the flat file's header row. The system also populates the Field Label fields with the same information as shown in the field name fields. If the flat file doesn't contain a header row, the system populates these columns with FIELD1, FIELD2, and so on until all of the flat file fields are represented. Change the field labels to represent more meaningful and understandable names to the flat file fields. For example, you might change the lname field label to Last Name. |
Access the Data Import - Step 3: Mapping page.
When you access this page, the source field labels appear in the Step 3: Mapping scroll area, and the Advanced scroll area is collapsed.
You must map at least one source field from the flat file to a target field in the CRM database and you must map all required fields (required fields have an asterisk at the end of the field name in the folder tree view).
If you can perform one-to-one mapping of the source fields to the target fields, use the Mapping scroll area only.
To use a default constant in a target field, concatenate source fields into one target field, or enter a source field into multiple target fields, use both the Mapping and Advanced scroll areas.
No Grouping
To give you more control over what fields Data Import considers unique when two or more continuous rows have the same data, PeopleSoft CRM added the No Grouping check box.
For example, when importing the following data:
FIRST NAME |
LAST NAME |
EMPLID |
Joe |
Smith |
123 |
Joe |
Smith |
124 |
Data Import considers First Name and Last Name unique, and therefore will only insert one row and update the EMPLID to 124. If you, however, select the No Grouping check box. the system inserts or matches on every row.
Selecting Target Fields
Select Target |
Click to select the database field that is updated by the input field or by an advanced mapping action. |
When you click this link, a hierarchical tree structure appears with required fields marked by an asterisk (*). The hierarchy differs depending on the role that you selected for the import template. At each folder level, there are required fields. If any field in the folder is mapped, then you must map the required fields in that folder and in the folders above it. The required fields provide the concatenated key to the target fields.
In the example below, the import role is Company and the source file field is Work Email. The Business Object Name field in the Organization - Company folder is required.
An intermediate level in the hierarchy, Contact, is not shown. The Lname field in the Contact folder is required and selected. The target field, Email Address is defined in the lowest level folder,Business Email-Contact.
Mapping Source Fields to Target Fields
To map the source flat file fields to target fields, use the Step 3: Mapping page region. Select a target for each field on the import file.
Ignore |
Select to ignore this field and not import it when you perform the import process. This is useful for when you reuse import templates and want to import only a subset of the premapped fields. |
Import |
Select to import this field when you perform the import process. |
Advanced Mapping Actions
The advanced mapping actions enable you to update database records when there is not a one-to-one correspondence between database fields and fields in the import file.
Mapping Action |
Select one of:
|
Value |
Enter the constant value with which to populate the target field. For example, if Country is a field in the database, and all input records are for France, you would enter a value of FRA. This field appears only if you select a mapping action of Value. To enter data, time, or date values, please consult the Enterprise PeopleTools PeopleBooks to determine the correct formats. |
Specify Concatenation |
Click to access the Specify Concatenation page, where you can select the fields and values that are concatenated to form the target field. |
Field Label |
Select the field that is to be mapped to the target field from the available choices. |
Access the Specify Concatenation page.
Concatenation Type |
Select Value to specify a constant in the Value column and Field to select from the import field labels in the Field Label list. |
Access the Data Import - Step 4: Matching page.
This page enables you to specify the database fields that must match fields in the import file to update the database from the import file. If no match is found, the system inserts the incoming row as a new record in the CRM database. If a match is found, the system updates the existing record with new information from the file. You can override the update by clearing the Update Matched Records check box when running the import process. In that case only, the system writes matched records to the error file.
New data never overwrites or updates an existing record's contact method fields (phone, email, and address); the new fields are appended as additional contact methods. All other types of mapped fields are updated or overwritten by the new data for matched records.
Warning! All fields, including email address, are case sensitive for matching. To avoid instances where a match is not found due to case sensitivity, you should convert fields such as email address to lowercase prior to import. For example, convert [email protected] to [email protected] before importing the file.
Matching Logic
Each template's matching criteria consists of one or more OR conditions, each of which contains an AND condition or a single field that must match. For example, in the condition shown, either all three of the fields, Busn_Email.Email Address, Contact.Last Name, and Company.Business_Object_Name must match their corresponding database fields or both of the fields Company.Business_Object_Name and Busn_Email.Email Address must match the database fields.
Note. You cannot nest conditions.
Add 'OR' Condition |
Click to add an or condition to the statement. |
Note. You might see matching statements with conditions that are separated or nested using parentheses. These statements were developed in a previous version of PeopleSoft CRM. For upward compatibility, these statements behave the same as they did in previous versions. However, if you make any changes to the statement, you must enter it in the new format
Access the Save Confirmation page.
This page displays:
A message that indicates if the template is saved successfully.
The Import status is set to Active.
Click this link to access the Run Data Import page and immediately run the import process.
The Go Back to Import Definition link.
Click this link to access the Data Import - Step 1: Define Import Template page and view the existing template and make any necessary changes.
To edit matching SQL, use the Edit Matching SQL (RB_IMP_MATCH_EDIT) component.
This section discusses how to:
Select a statement for edit.
Edit a statement.
Page Name |
Object Name |
Navigation |
Usage |
Edit Matching SQL |
RB_EDIT_MATCHING |
Customers CRM, Data Import, Edit Matching SQL |
Select a SQL statement for editing. |
Edit SQL page for Data Import |
RB_EDIT_SQL |
Click the Edit button for any SQL statement on the Edit Matching SQL page. |
Edit a SQL statement. |
Access the Edit Matching SQL page.
This page enables you to view SQL statements and their processing time from the last run of the data import template. You can select a statement and edit it.
Access the Edit SQL page for Data Import page.
Use this page to cut and paste the SQL statements to Query Analyzer, tune it, and replace new SQL statement with the tuned statement.
For example: an administrator runs a Data Import job with the Keep Tables option selected. After the job completes or aborts due to performance issues, the administrator can access this page to review the SQL statements to see how long each one took and start tuning those ones that took a long time.
When finishing editing, the administrator saves the matching SQL and can rerun the same Data Import template.
This section discusses how to:
Access the Run Data Import page.
Run the Data Import Process.
Page Name |
Object Name |
Navigation |
Usage |
RB_IMP_RUN_CONFSRC |
Customers CRM, Data Import, Run Data Import, Data Import |
Search for and view existing templates to use for the Data Import process. |
|
Data Import |
RB_IMP_RUN_DATA_PG |
|
Run the Data Import process. |
Import Multiple Files |
RB_IMP_MULTI_FILES |
Click the Process Additional Files button on the Data Import page. |
Search for and upload additional files for data import. |
Access the Data Import page.
Attach File and View File |
Click to access a page where you can search for and upload the import file. After you attach a file, the button text changes to View File. |
Process Additional Files |
Click to upload one or more additional flat files. The system processes all attached flat files in parallel; this enables you to speed up the data import process by breaking up one large file into smaller files. |
Select to perform data validation tests of the Data Import process before you actually perform the process. This is a preventative step that is useful for new files from unknown vendors. This option runs the Data Import process to validate data types that are within the file but doesn't perform the data update. For example, if a character string is mapped into a number field or a mapped date is not in the correct format, an error occurs. The process also checks for whether mapped fields are longer than the target field. The end result is an error file that contains all of the input rows with detailed error messages so that you can make corrections. |
|
Schedule |
Select Future and enter a date and time when the Data Import process is to run, or select Now. If you enter a past date, the system runs the process immediately. |
Character Set |
Select the input data file type, for example, UTF8. All installed character sets are available for selection. |
Select to specify that target data is updated with source data from the flat file when there is a match between a source record and an existing target record in the database. The rules that you set up on the Data Import - Step 4: Matching page determine the match. If you do not select this check box, you must view the error file to see a list of the records that match but are not updated. See Viewing the Status of One Data Import Process Instance. Note. Contact method fields are never updated with imported data; instead, the new information is added to the database. |
|
Select to enforce that an imported contact method is checked as Primary. This overwrites existing primary flags in the PeopleSoft CRM database. If you do not select this check box (which is cleared by default), the system still imports all mapped contact methods, but none are flagged as Primary. Every PeopleSoft CRM business object supports multiple contact methods of each type. For example, a contact or consumer that is named John Doe can have multiple business email addresses, multiple home phone numbers, and so on. However, John Doe can have only one primary home phone number. |
|
Overwrite Many-Rows Profile |
Select to overwrite existing data if multiple rows of information can exist for a business object, for example, contact methods for a customer. If not selected, the Data Import process inserts new database records with the imported data. |
Reuse Tables |
Select to use existing stage and matching SQL tables that were generated in a previous run of the template. |
Keep Tables |
Select to retain the stage tables. This option is selected and disabled by default if the Reuse Tables option is selected. |
Delete Old Tables |
Select to remove all previous versions of the stage and matching tables, but keep the current one. This option is selected by default if stage and matching tables exist from a previous run. |
Click to run the Data Import process and open the Import Status group box, which displays the status of the Run Data Import process and contains a View Import Statistics link. |
File Field List
The File Field List screen region displays the fields that are associated with the import template. This enables you to verify whether the import works in the case where you access the Data Import process directly from the menu and use an existing template.
Import As Audience
The fields in this section function similarly to the identical fields on the Define Import Template page. Values that you enter override the value on the import template.
Import Status
The Import Status group box appears only after you click the Import Data button.
Click to access the View Import Statistics page. Note. New contacts that are imported for existing companies are reported as updates because this updates the company's contact data. |
This section discusses how to view the status of the Data Import process.
View instances of the run date import process.
View the status of one data import process instance.
View import statistics.
View the data import process file error.
Page Name |
Object Name |
Navigation |
Usage |
RB_IMP_VIEW_CONFSR |
Customers CRM, Data Import, View Import Status |
View instances, or runs, of the Run Data Import process. |
|
RB_IMP_VIEW_STATUS |
Select an instance of the Run Data Import process on the View Import Status Search page. |
View the status of one instance of the Data Import process. |
|
RB_IMP_VW_STATS |
Click the View Import Statistics link on the Run Data Import page or the View Import Status page. |
View import statistics. |
Access the Data Import page.
View File |
Click to view the flat file that is used for the Data Import process. |
Click to download and view the error log file that the Data Import process creates. The error log contains details about the rows that are in error so that you can fix them and rerun the process. If the Update Matched Records option is not selected on the Data Import page, the error log also contains a listing of the records that match but are not updated. |
|
Click to access the View Import Statistics page and view the import statistics, number of rows inserted, updated, and matched, and the total number of records that are processed. |
Access the View Import Statistics page.
This page displays the import statistics from the Data Import process.
Click to access the Process Monitor - Process List page and monitor the Data Import process in detail. See Enterprise PeopleTools 8.48 PeopleBook: PeopleSoft Process Scheduler |
|
Click to download and view the error file that the Data Import process creates. The error file contains details about the rows that are in error so that you can fix them and rerun the process, if desired. |
Access the error file.
The error file looks just like the input flat file except that after every row there are messages about what is wrong with the input row. Correct the problems with data on this error file and then rerun the Data Import process by using this file.
This section provides an overview of the Basics AE process (BO_BASICS) and discusses how to:
Disable unnecessary roles, relationships, and contact methods.
Optimize database performance.
Submit the Basics process.
The Basics AE process reduces the complex tables and relationships contained in the BORM to two flat tables, BO_BASIC_IND (for data that is related to individuals) and BO_BASIC_ORG (for data that is related to organizations). For every customer business object that is enabled for Basics by role or relationship, the Basics AE finds all related business objects and writes the information to the relevant tables for use by the PeopleSoft Enterprise Online Marketing, Marketing, and Mobile Sales products
For example, a customer company has four sites, each site has four contacts, and each contact has four contact methods. The process locates 64 (four times four times four) business objects to get contact information for the customer and organizes this information into a single BO_BASIC_IND record per role and relationship type keyed by the customer's business object identifier (BO_ID), role, and relationship ID. Rows for both the company and the site are populated in the BO_BASIC_ORG table.
On a large database, for example seven million rows, this process might run for several hours. You can significantly improve the performance of this process by enlisting the services of qualified implementation consultants or a database administrator (DBA). Working with these persons, you can tailor the Basics AE process to meet specific enterprise requirements and improve process performance.
The Contact Methods displayed in the Audience result grid are taken directly from the Basic Data tables. In order to show values for all the Contact Methods in the Audience result grid, Contact/Consumer Contact Methods must be setup to follow the corresponding mapping logic for Basic Data.
Step 1: When adding a person, you should ignore the description field, and concentrate on the Type fields. After doing that, keep in mind that the first data entry you make defaults to the primary contact information for all roles.
Step 2: Go to the Advanced Options section of the Address Book, and manually define the primary Address, Phone, and Email info for each Role.
Page Name |
Object Name |
Navigation |
Usage |
Application Engine Request |
AE_REQUEST |
PeopleTools, Application Engine, Request AE, Application Engine Request |
Submit the Basics AE (BO_BASICS) process. |
The Basics AE process dynamically reads all enabled roles, relationships, and mappings. To tailor the process for your particular requirements and improve process performance, you can disable or remove the following information:
Basic data for roles.
You are not required to implement all delivered roles for an installation, or copy all implemented roles to basic data. To disable a role for basic data, deselect the Enabled for Basic Data option for the role on the Role Type page.
The roles that are enabled for basic data as delivered are:
Company
Site
Worker
Contact
Individual Consumer
Partner
Basic data for relationships.
You can also disable relationships for basic data if they are not used, for example, if an enterprise does not sell through the partner channel. Disable a relationship by deselecting the Enabled for Basic Data on the Relationship Type page. The relationships that are enabled for basic data as delivered are:
Primary Contact / Company
Contact / Company
Primary Contact / Partner
Contact / Partner
Remove basic data mappings for contact method purposes that are not needed. You can add or clone these mappings if they are needed in the future.
The basic data mappings are delivered with multiple contact method purpose types associated with each role and relationship. These are the contact method purpose types that are mapped as delivered, and they vary by role:
Phone - Business
Phone - FAX
Phone - Home
Email - Business
Email - Home
Address - Business
Address - Home
To remove a contact method purpose from a role or relationship, display the role or relationship on the Basic Data Mappings page, scroll to the contact method purpose row, and use the Delete Row button.
The DBA might perform some or all of the following actions:
Stripe the Disks on Which Data Resides
Striping is the process of dividing data into blocks and locating the blocks on different physical disks, which enables parallel database processing and speeds up the run.
Run SQL to Detect Problematic Data
The following data conditions can cause the Basics AE program to run inefficiently and can be detected and addressed prior to running the process:
Duplicate primary contact methods.
Use this sample SQL to detect duplicates in the Phone table. You must run the same SQL for the Address and Email tables. To do so, replace each occurrence of the table name PS_BO_SRCH_PHN with PS_BO_SRCH_ADD (for address) and PS_BO_SRCH_EML (for email) before running.
SELECT BO_ID, ROLE_TYPE_ID, BO_REL_ID, COUNT(*) FROM PS_BO_SRCH_PHN BO_CM_VW WHERE BO_CM_VW.ROLE_TYPE_ID IN (2, 3, 4, 8, 9, 11) AND BO_CM_VW.BO_CM_START_DT <= { fn CURDATE() } AND BO_CM_VW.BO_CM_END_DT > { fn CURDATE() } AND BO_CM_VW.CM_USE_START_DT <= { fn CURDATE() } AND BO_CM_VW.CM_USE_END_DT > { fn CURDATE() } AND BO_CM_VW.PRIMARY_IND = 'Y' AND BO_CM_VW.PROFILE_CM_SEQ = (SELECT MAX(G2.PROFILE_CM_SEQ) FROM PS_BO_SRCH_PHN G2 WHERE G2.BO_ID = BO_CM_VW.BO_ID AND G2.BO_CM_START_DT = BO_CM_VW.BO_CM_START_DT AND G2.CM_USE_START_DT = BO_CM_VW.CM_USE_START_DT AND G2.CM_USE_ID = BO_CM_VW.CM_USE_ID AND G2.ROLE_TYPE_ID = BO_CM_VW.ROLE_TYPE_ID AND G2.BO_REL_ID = BO_CM_VW.BO_REL_ID AND G2.BO_REL_POSITION = BO_CM_VW.BO_REL_POSITION) GROUP BY BO_ID, ROLE_TYPE_ID, BO_REL_ID HAVING COUNT(*) > 1
Duplicate BO_ID in the Person table.
Run this SQL to detect duplicates in the Person table.
SELECT BO_ID, COUNT(*) FROM PS_RD_PERSON GROUP BY BO_ID HAVING COUNT(*) > 1
Gather Runtime Statistics
The Basics AE process step CDMXSTAT gathers and updates runtime statistics that are used by the relational database engine to optimize queries and find free space. This provides information to the engine about the distribution of data and improves the chances of index usage. It is recommended after large numbers of rows are inserted, tables are reorganized or when indexes are added or removed.
The DBA can disable this step (by making it Inactive in Application Designer) prior to a run if the statistics are already updated.
Drop and Rebuild Indexes
Drop table indexes and recreate them manually after the Basics AE process runs sucessfully. This is especially helpful on DB2UNIX or DB2platforms. You can drop the indexes manually or enable the Basics AE process step CDMXDROP to drop indexes
This is the list of indexes to drop and recreate:
PS0BO_BASIC_IND
PS1BO_BASIC_IND
PSABO_BASIC_IND
PSBBO_BASIC_IND
PSCBO_BASIC_IND
PSDBO_BASIC_IND
PSEBO_BASIC_IND
PS0BO_BASIC_TMP1
PS1BO_BASIC_TMP1
PS0BO_BASIC_TMP2
PS1BO_BASIC_TMP2
PSABO_BASIC_ORG_TMP2
PSABO_BASIC_ORG
PSBBO_BASIC_ORG
PSCBO_BASIC_ORG
Inactivate Scheduled Jobs that Can Conflict with the Basics Process
The jobs CM_FLTM (for 8.9 and prior releases) and CM_MAINT (for release 9) are regularly scheduled to synchronize the normalized BORM tables to the flattened contact method tables. This improves access to contact methods for online processing, but can cause performance issues when run concurrently with the Basics AE.
To inactivate these jobs and any others that might cause data conflicts, use the PeopleTools Schedule JobSet Definitions page located under PeopleTools, Process Scheduler. Search for the job name and select Inactive in the Status field. Save the job definition.
When the Basics process ends, reactivate this job.
To submit the Basics AE process, access the Application Engine Request page and add a new run control for the BO_BASICS program.
See Enterprise PeopleTools 8.48 PeopleBook: PeopleSoft Application Engine