Integration Platform Technologies: Siebel Enterprise Application Integration > EAI Siebel Adapter Business Service > EAI Siebel Adapter Business Service Methods >
You can use a combination of input arguments when using the Query Business Service Method of the EAI Siebel Adapter. The input arguments are as follows:
- Query By Example (QBE). Pass in an integration object instance represented as a property set.
NOTE: EAI queries on integration objects do not use a search specification for child integration components when the query obtains the parent integration component.
- Primary Row Id. Pass in a string to the Object Id input argument. The string can be the row_id of the primary business component of the Output Integration Object Name.
- Output Integration Object Name. See the Primary Row Id for information.
- Search Specification. Pass in a String expression.
The input arguments can be used in one of the following combinations:
- 2 and 3
- 3 and 4
- 2, 3, and 4
The EAI Siebel Adapter uses this input as criteria to query the base business object and to return a corresponding integration object instance.
For an example of using the search specification method argument to limit the scope of your query see About Using Language-Independent Code with the EAI Siebel Adapter Business Service.
When using the EAI Siebel Adapter, to query all the business component records, you are not required to specify any value in the Object Id process property of the workflow. In this case, not specifying an Object Id or a Search Specification works as a wildcard.
If you want to query Siebel data using the EAI Siebel Adapter with the Query method and an integration object instance (property set) containing a query by example (QBE) search criterion, then all the fields present in the QBE will be used in the query. To retrieve a unique record, include the fields that make up the user key for the underlying integration object component instance to ensure you retrieve a unique record. You can use an asterisk (*) as a wildcard for each one of the fields.
For example, the following is your QBE:
<?xml version = "1.0" encoding = "UTF-8"?>
<SiebelMessage MessageId = "1-2IOY" IntObjectName = "EAI Account" MessageType = "Integration Object" IntObjectFormat = "Siebel Hierarchical">
You would receive all of the Accounts with names that start with A* and have locations that start with H*. The CSN, HomePage, and Type fields cannot be blank because they are used in the query.
The EAI Siebel Adapter converts the QBE into a user Search Expression of the following:
[CSN] ~ LIKE "*" AND [Home Page] ~ LIKE "*" AND [Location] ~ LIKE "H*" AND [Name] ~ LIKE "A*" AND [Type] ~ LIKE "*"
You can run this example and review the output XML generated.
When using search expressions that contain an apostrophe ('), you must use two apostrophes ('') or the search will fail.
For example, you are searching for the string LUKE'S. The following search expression will fail in the EAI Siebel Adapter:
[Account.Name] LIKE "*LUKE'S*"
Use the following search expression instead:
[Account.Name] LIKE "*LUKE''S*"
NOTE: The EAI Siebel Adapter explicitly overrides any Object Manager settings for the MaxCursorSize parameter. The EAI Siebel Adapter uses a MaxCursorSize of -1. If you want to limit the number of results received when using the Query method, then use the QueryPage Method. You can combine the Object Id and Search Specification together to query for parent and child data.
NOTE: The EAI Siebel Adapter returns the output of the Query() method as one Siebel Message. This integration object instance is stored in the process memory. If your query returns a large number of records, this will result in your Siebel component's memory consumption being high.