Siebel – FINS Industry XML Query Service
by Nitin Jain“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.
To catch the implementation details of this BS, log into Siebel Tools, query for “FINS Industry XML Query Service” in the Business Services in Object Explorer.
Business Service: FINS Industry XML Query Service
Method: Execute
Input Arguments: XMLHierarchy
Output Arguments:
Please note that this BS takes only the XMLHierarchy type of Hierarchy input. So, in case you have some other hierarchy available in your implementation, you would need to convert it into XMLHierarchy. I can suggest one of the following in this case which mostly save the day:
EAI XML Converter
XML Hierarchy Converter
EAI Integration Object to XML Hierarchy Converter
There is already sufficient documentation for the above.
Now that you have the XML Hierarchy available, you can feed this into the service, “FINS Industry XML Query Service” as an input from a Worfklow Process Property, in the Input Argument, “XMLHierarchy”.
Create a new Input argument. Let’s call it “TestProperty”. Set the Input Type as “Literal”.
In the Value column, you need to pass the location of the tag in the entire hierarchy, from which you wish to extract the value. This location is specified in terms of the XML XPath notation, or the more commonly called Dot Notation. If the tag in question exists only once in the entire length of the XML, we can set the XPath as, “.//
You can further create new Input Arguments as above, to extract multiple values from multiple tags at the same time.
Now that the inputs have been provided, we need to set the output arguments from this BS in the workflow.
Create a new Process Property by the name, “TestProperty”. (I have named this same as the Input Argument just for the ease of use. You can always select a different name).
Create a new “FINS Industry XML Query Service” BS Output Argument, and set the following values:
Property Name: TestProperty
Type: Output Argument
Output Argument: TestProperty (Please note that this value must be same as the name given to the Input Argument above.)
Now, you are ready to go. Simulate this workflow to see the Output arguments being extracted from the input XML Hierarchy in the Watch Window during simulation.
One of the limitations that I have come across for this BS is that it cannot fetch value from a tag in case of repeating instances of ICs in the same XML, typically a case of repeating instances of child objects with the same tag name.
Let’s have cleaner Siebel, better Siebel. Let’s aim for Scriptless Siebel.
Related posts:
- Siebel – FINS Teller UI Navigation Siebel is POWERFUL! Now, need I even say that? And,...
- Siebel – EAI Siebel Adapter – Looping Multiple Records This is a follow-up post on the post, Siebel –...
- Siebel – SIA BC Utility Service – Loop multiple records This is a vanilla business service which provides an extensive...
- Siebel – SIA BC Utility Service – Invoke BC Method I had discussed about the vanilla Business Service, “SIA BC...
- Siebel – SIS OM PMT Service There are lots of vanilla business services available in Siebel...
- Query on the Long Column or Field A typical problem in any EAI project. Others too!! One...
- Siebel – Looping multiple records – Query and Process In my last post, I discussed as to how we...
[...] This post has a broad focus, not just Siebel CRM. I have briefly alluded to the XML structures in EAI in some of my previous posts: A meeting with Siebel EAI FINS Industry XML Query Service [...]
Business Service Test List Applet is used in Business Service Test View to test Business Service in Client. How to invoke TestService Method.
Hi Sriram,
Where is the reference to “Business Service Test List Applet” in the article above?
Is this a separate question?
@ Sriram
Try this link, maybe in can help you..
http://geeksbloggingat.com/2009/07/24/siebel-fetch-active-view-properties-iii/
Hi Nitin
Suppose we have an Account and Multiple Contacts, as per the Requirement have to Send the Account with Only Primary Contact
If we Observe Siebel Message under Contact level there is a Tag Called ” IsPrimaryMVG”, which will set as Y for Primary and for the Rest as N.
So, IsPrimaryMVG having Multiple Values here
I Tried with FINS Industry XML Query Service and Workflow Utilities also, but not possible to Fetch the Primary Contact
How can i Achieve the same?
Thanks in Advance
Babu Rajendra Prasad