Configuring Siebel Business Applications > Improving the Performance of Siebel Business Applications > Using the Case Insensitivity Wizard to Improve Query Performance >
Overview of the Case Insensitivity Wizard
The Case Insensitivity Wizard is a tool you can use to configure a column to support a CIAI query. This wizard does the following work:
- If you use an input file, then validates the format of all records in the input file. For more information, see Input File You Can Use with the Case Insensitivity Wizard.
- Validates that all tables and columns are eligible for CIAI configuration. For more information, see How the Case Insensitivity Wizard Verifies Eligibility.
- For each eligible base column, defines a new CIAI column and a CIAI index in the Siebel repository. The CIAI column contains data in the base column. The wizard converts this data to uppercase. For more information, see Index Strategy Variable of the Case Insensitivity Wizard.
- Sets the Default Insensitivity property for the base column to DB Case & Accent. You can also run the Case Insensitivity Wizard in a special mode to set the Default Insensitivity property on columns that do not contain an index.
- Sets flags and performs other configuration operations in the Siebel repository that are required to support a CIAI query.
Siebel Tools does not create columns or indexes in the Siebel database until you compile the Siebel repository.
How the Case Insensitivity Wizard Verifies Eligibility
The Case Insensitivity Wizard verifies that all tables and columns it configures for CIAI meet the following eligibility criteria:
- The table and column exist in the Siebel repository.
- The column is active and belongs to the defined table.
- Siebel CRM supports the table type, column functional type, and column physical type for each CIAI configuration.
- The column already includes one or more indexes. If no index is defined on the column, but the column is otherwise eligible, then the wizard accepts the column but does not create a CIAI column or any CIAI indexes for the column. The Case Insensitivity Wizard sets the Default Insensitivity property to DB Case & Accent. For more information, see Using the Case Insensitivity Wizard on Columns That Do Not Contain an Index.
How the Case Insensitivity Wizard Applies a Naming Format
When the Case Insensitivity Wizard creates a CIAI column name or index name, it uses a naming format that is similar to the naming format that the EIM Table Mapping Wizard uses. The naming format is fixed. You cannot override it. For more information, see Mapping a Custom Table to an Interface Table and Objects You Use with Enterprise Integration Manager.
The Case Insensitivity Wizard uses the following naming format:
- Column name. Appends a _CI suffix to the CIAI column name. For example, if the parent column is LAST_NAME, then the CIAI column is LAST_NAME_CI.
- Index name. Uses the following format to append a string to the base table name:
# is an integer starting at 1 and incremented as required to create a unique name.
For example, S_CON_ADDR_C1 is a CIAI index that the wizard creates for the S_CON_ADDR table.
How the Case Insensitivity Wizard Limits the Length of An Object Name
The default length for a column name or index name is 30 characters. If a CIAI column name or index name exceeds the maximum length, then the Case Insensitivity Wizard does the following:
- Truncates the column base name for a column name
- Truncates the table base name for an index name
The wizard does the following:
- Deletes underscores one at a time, beginning with the leftmost underscore.
- Deletes vowels one at a time, beginning with the rightmost vowel.
- Deletes characters one at a time, beginning with the rightmost character. Characters include letters, numbers, and so forth.
The Case Insensitivity Wizard does not truncate a prefix or a suffix.
You can manually limit the length of schema object names to 18 characters. For more information, see Limiting the Length of Schema Object Names Manually
How the Case Insensitivity Wizard Makes Sure Each Name Is Unique
If the Case Insensitivity Wizard truncates a column or index name, then the name might not be unique. If this situation occurs, then the wizard truncates the rightmost character in the base column name or base table name. The wizard replaces the truncated character with an integer, starting with 1. To maintain the overall string length, the wizard does the following:
- Increments the integer if the truncated name is not unique
- Truncates the name to make room for more digits if the wizard requires more digits to make the name unique
How the Case Insensitivity Wizard Reports an Error
The Case Insensitivity Wizard reports errors in a pane in the Case Insensitivity Wizard. The errors list provides information so that you can identify the column and the cause of the problem. You can do one of the following:
- Correct the errors and rerun the Case Insensitivity Wizard.
- Ignore the errors. When the Case Insensitivity Wizard configures columns, it skips each column that generates an error.
You can export errors that the Case Insensitivity Wizard reports to a text file. Errors typically fall into one of the following categories:
- Input file format error. Punctuation error or improper use of configuration options.
- Table and column eligibility problem. Occurs if you choose tables and columns that the Case Insensitivity Wizard does not support.
- Project not locked. You must lock any table you define in the Table variable before you run the wizard. The wizard displays the list of projects that you must lock.