All About Siebel

Monday, April 28, 2008

Usage of ReadPropSet in EAI XML Read From File

Though I use this method many times, always there is a confusion in retrieving the outputs from this method. If you clearly observe the output arguments of this method, you would find nothing. There starts the confusion..

Today, I am going to explain a thumb rule to retrieve the outputs from method "ReadPropSet" of Business Service "EAI XML Read from File"

"EAI XML Read From File" will be mainly used to read the xml hierarchies, Siebel messages(IO messages) and Property sets. Usage of it's methods is completely depend on the type of message we are going to read..

Here, ReadPropSet is used to read the property sets(Top element of this particular message should be PropertySet)
Example of Property set:





The above image is an example of property set.

Let's see how we can read this message from the file system using a workflow. Consider our workflow consists of only one step excluding start and end(as shown below)



Step Read from File is of type business service and invokes the vanilla business service "EAI XML Read From File" method "ReadPropSet".

Inputs for this step is FileName ==> Location of the file on Filesystem. Now the tough part is how to get the output from this step.

To get the output from this step.. Follow these steps sequentially..

1. Open the property set in any notepad or browser and indentify the name of the tag below the tag <PropertySet>. In this particular example it is Message.
2. Define a process property in workflow with the same name and type as Hierarchy.
3. Define the output arguments of the read step as shown below..



Note: Property Name and Output Argument should be always same.

The above configuration resolves the problem of retrieving the data from the method "ReadPropSet".

Thursday, April 17, 2008

How to invoke a vanilla method in e script which is defined under the object "Command"?

In a recent discussion with my colleagues, I got stuck on this question. How can we invoke a command? With a little research and experiments I found out the way. Here it is ….
Vanilla methods defined under command objects can be invoked with the help of Business component instances.

Let's take an example with one command 

Clear LOV Cache (SWE), hope every one is familiar about this command.
The underlying method for this method is ClearLOVCache. This method can be used with button controls on any applet based on BC "List Of Values", since this method is available under the business component "List Of Values". Not only on the same BC methods, but also you can invoke methods of a different BC methods through Applet, BC, and BS scripts. Have a look at the sample code below

var bo = TheApplication().GetBusObject("List Of Values");
var bc = bo.GetBusComp("List Of Values");
bc.InvokeMethod("ClearLOVCache");

Bottom line for this approach is that the method you are invoking should be available in the active instance of the Business component

Please let me know ur view on this . You can write me at siebelbee at gmail dot com.