Thursday, March 31, 2011

Siebel Business Service Library - Part 14: Row Set Transformation Toolkit (Updated)

It has been quite a while that we discussed a standard Siebel business service in our Siebel Business Service Library series.

Today we are introducing one of the most specialized and highly sophisticated of business services, namely the Row Set Transformation Toolkit.

This business service has been introduced with the revamped Siebel Order Management (OM) Infrastructure in version 7.8. If you are involved in a Siebel OM project, you are most probably familiar with the intricacies of the Row Set Transformation Toolkit business service.

In this post I would like to give a short overview how this business service works. I will not go into detail on all its methods as they are well documented in the Siebel bookshelf.

We can think of the Row Set Transformation Toolkit (RSTT) as a generic engine which is capable of processing a (clearly defined) input property set into an output property set.

The structure of the input and output property sets is predefined by Oracle and can be depicted as follows:

click to enlarge
 The properties at the root level (Property Set) contain the transform instructions in the RSTT's unique syntax which looks similar to the following:

Search Specification: [Parent Product ID]={Row.Product Id}

The above is an input argument for the Simple Look-Up Transform method and instructs the RSTT to replace the value in curly brackets - {Row.Product Id} with the value of the Product Id field of each row in the Row Set child property set.

Because the RSTT is widely used in standard workflow processes such as Basic Pricing Procedure (depicted below), the Siebel Repository is full of examples how to use this particular business service.

click to enlarge

The Siebel Pricing Configuration course offered by Oracle University teaches the eager developer how to extend the pricing procedures by using the RSTT.

The Context child property set acts as the carrier for the header information - such as the Quote or Order header. Because the RSTT is generic, the Product Selection and Pricing (PSP) engine (the official nomenclature for the collection of classes, business services and workflow processes used in Siebel Order Management) introduced the concept of variable maps. Variable maps allow order management admins to define the mapping from a specific business component - such as Quote Line Item - to the generic concept of a header and multiple rows (the row set).

The Header child property set is the result of the mapping and contains the information from the current object's header such as the Quote header.

The Row Set child property set hosts the Line Item children which represent the object's (Quote, Order, Agreement, etc) line items.

By using the various methods of the RSTT - also dubbed "transforms" - the diligent developer can parse, split, modify and merge (to name a few typical operations) the input property set.

Update: The (truly nice) people at On Demand Education deserve standing ovations for putting together a free multi-chapter eLearning on the RSTT.

have a nice day

@lex

No comments: