Monday, April 18, 2011

Siebel Business Service Library - Part 15: Little Helpers

In this part of our series on noteworthy standard business services in Siebel CRM, I would like to discuss nine (plus one) of them in one go. The business services covered in this post have one thing in common: They have been developed to address certain needs during the development of Siebel CRM modules like Order Management, Hospitality, Financial Services or Server Side Synch for Exchange (aka SSSE). Most often they are found in standard workflow processes.

This post is intended to introduce them along with this disclaimer (which applies to any post about Siebel standard business services):

Ensure that you have license coverage before using the business services discussed on this blog in production environments. In addition ensure that you understand the risks and side effects of using these business services.

Having said that, here we go:

SIA BC Utility Service

This business service seems to originate in the Siebel Hospitality application as it is only mentioned in the respective bookshelf guide. As the name suggests, it is only available in Siebel Industry Applications (SIA). Furthermore the business service got attention from fellow bloggers Ankit and Neel a few years ago.

Inspection in Siebel Tools shows that the business service provides two methods (BCNextRecord and BCInvokeMethod).

The BCNextRecord method (as described by Ankit here) can be used to loop through a record set and is used in standard workflow processes like LOY Activate Promotion Process (Siebel Loyalty). With the availability of the NextRecord and PrevRecord operations for the Siebel Operation step in Siebel 8, this particular method feels a bit awkward and personally I do not believe that it is a great alternative.
LOY Activate Promotion Process
 The BCInvokeMethod method can be used to invoke business component methods (such as the notorious RefreshBuscomp) from within a workflow process, a scenario which can prove useful.

SIS OM PMT Service

The full name of this service is Siebel Industry Solutions Order Management Product Manipulation Toolkit Service (sorry, I just had to do this ;-). It is one of the most often used standard business services throughout the vast array of workflow processes in the Siebel Order Management realm. It has a stunning list of 52 registered methods visible in Siebel Tools. Most of these methods are beyond any meaningful use outside the highly specialized world of OM workflow processes.


Madhvi has taken the task of pointing out four of these methods which might be useful for those seeking scriptless solutions. These methods are Get Profile Attribute, Set Profile Attribute (which are self explanatory), Refresh Business Component and Invoke BC Method.

TNT SHM Workflow UI Service

In his comment, Shane pointed out this business service which has a single method named GotoView. The business service's name suggests that it originates in the Travel and Transportation (TNT) module. The benefit of using the BS instead of the User Interact step is that we can use it in any business object context.

The TNT SHM Create Order workflow process uses this business service to navigate to the freshly created order.

As seen in this applet user property, the GotoView method also allows the definition of search and sort specifications.

Shopping Service

Rahul suggested in his comment to have a look at the Shopping Service which is part of many workflow processes in the eSales, eTraining and Order Management realm. Apart from many specific methods which are documented in the Siebel bookshelf, this business service also sports a GotoView method which seems to provide similar functionality to the one described previously.

FINS Teller UI Navigation

Part of the large family of Financial Services business services, the FINS Teller UI Navigation service - suggested by Shane - allows developers to use the RefreshCurrentApplet method to do exactly that - refresh the current applet - from a workflow process, script, runtime event etc.

The business service has caught some attention in the blogosphere most notably from Nitin and Gaurav who do a great job in explaining the usage of this standard business service and its methods. Oracle engineering also prefers this business service in workflow processes as described here.

SSSE Address Parser (eScript)

Those among you who stumbled across the problem of creating a proper carriage return and line feed (aka CRLF) in Siebel workflow processes, might also have come across this blog post which features the only (visible) method of this BS, namely GetCRLF.

As the name suggests, this BS originates in the SSSE family and is one of the rare vanilla business services with method implementations in plain eScript.

The eScript code which generates CRLF
Usage of this BS is straightforward. The output of the GetCRLF method is a proper carriage return and line feed which can be used in various ways (such as in this example from a comment on Jason's phone number post).

FINS Data Transfer Utilities

This business service has gained some popularity in the past and also goes by the name of "DTU". Rahul has done a great job of describing the service's capabilities in this post. The official description of this service in Siebel bookshelf is "...transfer data from a source business component to a target business component without using script.".

The official documentation of this business service is available here.

Playful developers might find the GetActiveViewProp method intriguing.

SIS OM PC Service

This highly specialized order management business service has a method named Get Next RowId which has caught the attention of fellow bloggers at Exploring Siebel. With a bit of imagination, we can use this method to generate random numbers.

Workflow Utilities

Last but not least, it's time to honor the Workflow Utilities business service and its Echo method (the only non-hidden method in Siebel 8). I really like this method as it allows us to ease calculations in workflow processes. In this example I describe how to use the Echo method.

Web Engine HTTP TXN

(Breaking News) Fellow blogger Rahul recently posted a nice introduction to the Web Engine HTTP TXN business service which he used to fetch the IP address of the current user.

Summary

Engineers at Siebel (then) and Oracle (now) faced similar challenges as custom developers and created a rich library of standard business services. Most often, the behavior of these business services is not documented or not easy to grasp. However, there are some methods (which I tried to focus on in this post) which might prove useful in typical development environments.

Have a nice day

@lex

4 comments:

raj said...

There is another Business Service,
Inbound Email Database Operations.
It has methods like Insert Record,Find Record, Update Record and few others..

Only drawback using this business service is FindRecord returns an error when record is not found..

Big plus is you can instantiate a new businnes object using this Business service

Thanks,
RR

Anonymous said...

Looking for a refresh UI/refresh applet for Call Center/Sales.

The business services described above don't seem to exist on Horizontal. :-(

RR said...

We use horizantal and we have this business service Inbound Email Database Operations
in repository..
Probably not the exact name, but search with a * you will find it..Also, don't know which version of siebel you are using now.We are using 8.0

Thanks,
RR

Anonymous said...

RR,

Thanks for the info. This also seems to be a pretty useful BS.

I ended using SIS OM PMT service - refresh buscomp

AA