We discussed about fetching the values from the active view in my post yesterday.
However, I also felt that it was a very crude way of doing it. We can only get the information we need, by writing a small script for it. Moreover, the information was very limited.
This is a follow-up post on the post, Siebel – Looping Multiple Records – III. We are looking at possibly more conventional methods to loop through multiple records in Siebel, than the SIA BC Utility Service.
We will make use of EAI Siebel Adapter’s QueryPage method to achieve the same. Knowledge of Siebel Workflow processes is essential to understanding this post.
The QueryPage method allows us to input an additional parameter, NumOutputObjects, to define the number of records that we want to output. Why not set this value to ’1′?
Following is an outline of the Dummy Workflow I used to achieve this.
Looping through multiple records is a requirement we come across multiple times in almost all Siebel Implementations. And, I can’t recall how many times I have seen dirty scripts to achieve the objective.
I call this Part III, as we have already covered this before on GeeksBlogging@dotCOM, in the articles,
Siebel – Looping multiple records – Query and Process
Siebel – SIA BC Utility Service – Loop multiple records
I can bet that for anybody who has worked on Siebel EAI, ‘EAI Siebel Adapter’ is not an Alien term. This post is about EAI Siebel Adapter’s Query method.
How to restrict the number of Child records returned in Siebel adapter’s Query.
Scenario – Order and related Order Line Items
One of the interesting things that came out of the feedback was parsing the XML and the XPath expressions. This is exactly what I will be covering in my blog post today.
The XPath defines the path, or the way that you parse/read/traverse through an XML. The concept is generic in nature. However, Siebel in itself has some limitations in the way that it handles these expressions. I will try to cover both these scenarios here. I will take the following small XML Snippet as an example for better understanding of the same. One of the best ways to understanding this is to refer this structure of the XML is a popular XML Editor like Internet Explorer, Oxygen Editor, Editplus, Altova XML Spy (I like this the best), or any other supported browser.
“Extracting values from a tag deep down in the Hierarchy.” How many times have you come across this problem, and how many times have you wished that Siebel has an OOB method to help you extract these values?
Well, here it is. The “FINS Industry XML Query Service” in Siebel does just that. I am covering this here because of lack of documentation on the same by Oracle, and the immense use that this can be put to. This BS can save you a lot of headache of writing custom scripts to parse the entire XML Hierarchy in Siebel eScript, which can be a real pain in the neck.
This blog post will target the detailed usage of the BS, “FINS Industry XML Query Service” in Siebel CRM. This BS can be used directly in a Siebel Workflow, since this is vanilla. No scripting is needed which is as per the recommendations of Siebel Best Practices.
We have already discussed at quite a length the logging methods, the most prominent of these being the usage of vanilla Siebel EAI Queues. You can read about the entire series through the following links:
A meeting with Siebel EAI
Siebel – EAI Queue
Siebel – EAI Queue – Usage
Siebel – EAI Queue – a Critique’
I recently came across another vanilla method (EnableServiceArgTracing) to log the messages. Using this, the various Siebel logs can be created, and the Input and the Output messages to some of the Business Services can be written in XML format to a file. These XML files would appear as Siebel Dump files with a “.dmp” extension. These can be read off any standard text reading tool like Notepad, Editplus, Notepad++, etc. This process works with EAI Siebel Adapter and EAI Dispatcher business services.
I had discussed about the vanilla Business Service, “SIA BC Utility Service”, method “Next Record” in my previous post. Today, I will discuss the other method that this BS supports, “Invoke Method”.
This method provides the functionality of invoking a particular method of the specified Business Component i.e. a method of that particular BC for which this business service is used for can be called using this method. This method requires two input arguments for the same:
Okay, what are you thinking about? Is it Middlewares in EAI with their queue managers and queues? No, those are not the ones I am talking about. Every EAI professional knows about those.
Siebel provides an Out of the Box Message Logging mechanism for Siebel EAI messages. This is done through a Siebel feature called ‘EAI Queue’ which I would be discussing in detail in this article.
I have tried to provide a basic idea about message interchange in EAI in my last post. You can read it by clicking here.