You can make search operations in the application case insensitive by enabling case
insensitive search for the required entity/column. This is achieved by adding the attribute
CaseInsensitiveSearch in the required entity XML file.
About this task
To enable case insensitivity:
Procedure
- Edit the required Entity XML to include the
CaseInsensitiveSearch=Y
attribute.
Include the shadow column attribute ShadowColumnName in the
Entity XML and specify a name for the shadow column. If this is left
blank, the system auto generates one. However, you must specify a
shadow column name if you are indexing the shadow column.
A
shadow column is then generated, which is linked to the original column
that is marked as case insensitive.
- If the agent is being run in a production environment, specify the configuration mode for
the entity or column in the CaseInsensitiveSearch.Mode property in the
customer_overrides.properties file. Set the value of the
CaseInsensitiveSearch.Mode property to
MIXED
or
DISABLED
.
Note: By default, case insensitivity is enabled.
- Disable the cache for the entity for which you want to
run the Case Insensitive Data Loader agent.
Note: It is recommended that along with disabling the cache,
you turn off the audits for that particular entity as well.
- Run the Case Insensitive Data Loader agent to populate
data in shadow columns.
Note: If you skipped
Step 2, skip this step, as well.
- Set the value of the CaseInsensitiveSearch.Mode property to
ENABLED
in the customer_overrides.properties file.
Note: If you disabled audits in Step 3, enable audits now.
- Enable the cache for the entity or column for which the
Case Insensitive Data Loader agent was run in Step 3.
The
following APIs support case insensitive searches for system defined
columns:
- getOrderList
- getItemListForOrdering
- getExceptionListForOrder
- getCustomerList
For custom columns that are extended, the case insensitive search works if the normal search
works on those columns.
Note:
This feature is applicable only for searches that use the application generated XAPIs. Searches
that use custom queries will not be case insensitive.
Case insensitive search can be enabled only for text data type (Char/Varchar columns).
Use of complex query along with case insensitive search for a column is not supported.