EAI Siebel Adapter is very widely used Business Service in Siebel. This business service is indispensable if you are working in Siebel EAI and very useful to do configuration tasks efficiently.
I have already described some novel implementation of using IO and EAI Siebel Adapter BS to improve performance and reduce scripting.
But today we are going to discuss the basic and most used method of this BS which is to Query Method.
Query Method of EAI Siebel Adapter takes a Row Id or a Search Spec as an Input and gives you a Siebel Message as Output. Let’s discuss both Ways.
Query using RowId: You need to provide 2 input arguments to the Method
- OutputIntObjectName: This should have the value of a valid IO name based on BO and BC for which you want to Query the record
- PrimaryRowId: This should contain the RowId of the record you want to Query.
Using this method is pretty straight forward but more often than not our query is based on certain condition such as Record should have Status = ‘Cancelled’ and Type = ‘Order’ then you need to provide the SearchSpec in order to query the record.
Query using SearchSpec: Again you need to provide 2 arguments to the Method
- OutputIntObjectName: Same as Above
- SearchSpec: A valid Search Spec for your query. Now, important thing to note here is that SearchSpec here is not like SearchSpec you provide in BC, Applet and other object and also not like you provide in eScript. Here SearchSpec has different format
Format of SearchSpec in EAI Siebel Adapter BS:
You need to provide the SearchSpec as IntegrationComponent.FieldName to explain it better lets take and example.
Query Service Request with ‘Status’ = ‘Open’ and Type = ‘Urgent’ and your IC name is Service Request. So, your SearchSpec would be:
[Service Request.Status] = ‘Open’ AND [Service Request.Type] = ‘Urgent’
If you want query where the condition involves a Child BC then you need to provide the name of child IC. For example
Query Service Request with ‘Status’ = ‘Open’ and has Activity of Type = ‘Closed’ where Activity is Child BC of Service Request. Your SearchSpec would be
[Service Request.Status] = ‘Open’ AND [Activity.Type] = ‘Closed’
Soon I will create a Video Tutorial of creating a workflow using both techniques. So, keep watching.