Basics of Siebel Order Management and eConfigurator
Siebel offers powerful order management capabilities. You will explore the real depth of orders largely in the telecom and media vertical, where there is a lot of CPQ (Configure, price, quote) play. Application programming interfaces (APIs) are at the heart Siebel eConfigurator and were exposed for developers in Siebel 7.5. But they weren’t really noticed till Siebel 7.8.
Although APIs are largely relegated to the background with what can be achieved in Siebel 8.0 higher level business services and web services for product configuration, it doesn’t hurt to know them better.
Siebel order management offers one of the most powerful functionality for end-to-end order processing within the CRM framework. This not only includes creation of orders , but also customising order line-item ( contents of the order ), validating orders , pricing them, and tracking them through fulfilment. Of course the same functionality is also enabled on quotes, and you can process orders/quotes for accounts or contacts.
Asset based ordering (ABO) enhances the order management functionality by enabling a greater level of interaction between quotes, orders, and assets.
A lot of order management is driven by Siebel business services and workflows in the backend. eConfigurator UI provides an new dimension to order management by hiding complexities behind a user-friendly interface. Of course this user-friendliness has been increased multifold in the all-new Open UI eConfigurator. The UI provides an easy way to configure/customise products for an order or a quote.
eConfigurator uses APIs in the backend.
How does an order get processed?
The order life-cycle in Siebel deals with three main entities - quotes, orders, and assets. ABO connects all three to establish the entire process - While quotes and orders represent the pre-fulfilment part, assets are considered as the core entity post fulfilment.
A deal/ potential deal With the customer gets initiated through an opportunity, or through a quote. A quote is transformed into an order at the click of a button once the terms of the agreement are acceptable to the customer. An order ( order line item to be specific ) transforms into the asset through the “auto asset” functionality. This is where you click a button, and the entire details of the order and line items find their way to the asset.
Quote or an order Can have a mix of simple products, or complex products. Complex products can have components of their own, and are also known as customisable products.
While you can directly create complex products against an order/quote, eConfigurator is one of the easier ways of doing that.
eConfigurator helps add/modify components of a complex product, at the same time ensuring that all the business rules get applied in real time. This includes -
- Ensure that only compatible components get added
- Validate whether the minimum/maximum quantity rules are respected
- Satisfy all dependencies between product components (for example, “Internet” product requires “fixed line” product to be present)
Pricing rules are also applied within the configurator. Changes to the customisable product are reflected in real-time, politicians/error messages are carried out with every click, and pricing changes are displayed on the UI.
The above said rules as well as pricing are applied outside the eConfigurator as well. He just makes it more harder to search and create line items against individual products, rather than look at an eligible list of products to pick and choose.
Configurator workflows and business services
Configurator uses a host of workflows and business services to function. The main workflows worth mentioning for order processing are:
- SIS OM New Products & Services Process
- SIS OM Edit Service Order Line Item
- SIS OM Modify Products & Services Process
- SIS OM Edit Complex Asset Workflow
Few business services that play a major role include:
- SIS OM PMT Service
- EAI Siebel Adapter
- Complex Object Instance Service
- Remote Complex Object Instance Service
(3) and (4) call the configurator APIs. Other services/workflows set the stage, and complete the tasks post API execution. A brief explanation follows.
SIS OM New Products & Services Process
Workflow gets triggered when “New” button in installed assets view is clicked.
The workflow creates a new order/quote, and navigates the user to the order or quote view.
SIS OM Edit Service Order Line Item
Click on “customise” button against an order line item for a complex product to invoke this workflow. It correlates details from active assets, and pending orders, and calls eConfigurator.
Workflow resumes once eConfigurator is complete (or cancelled). It retrieves the changed instance of the complex product, and applies it to the database. This will change/add order line items and modify the order.
SIS OM Modify Products & Services Process
This accomplishes the same object to as the previous workflow, but acts on assets. In Account Services view, click on “Modify” button on assets of complex products to invoke this workflow.
The workflow collates data from active assets and open orders, and shows customisation details for the product. It resumes upon completion of eConfigurator, and applies changes to the database. This workflow achieves the same function as “SIS OM New Products & Services Process” and “SIS OM Edit Service Order Line Item” combined.
SIS OM Edit Complex Asset Workflow
This workflow gets called by all of the above workflows. It is responsible to collect state of products from existing assets and open orders, and feed it to the current eConfigurator session.
This makes sure that any modifications to the customisable product also takes into account the current components that are already part of the product, as well as any components that are being added before the current order gets addressed.
For example: when adding “Internet” component to “Domestic connection” customisable product, any existing components of the customisable product (" landline" product ) is also picked up.
Let’s take a look at the core business services that are used either by workflows or by user properties.
SIS OM PMT Service
All the workflows described so far use various methods of SIS OM PMT Service. This service acts as a wrapper and interacts with the Configurator APIs in standard Siebel. Although primarily created for order management, this business service has several methods useful in other scenarios as well. For eg:
- Find Orders – Find all open orders for the current asset
- Invoke BC Method – Invoke a standard or custom method of a business component
- Find Delta – Find out differences between the current instance of the asset (before Configurator) and the requested instance (after changes are done in Configurator). Differences are the key to finding out which components need to be newly added to the asset
- Synchronize – Sync the instance to the database. Any changes requested will be applied to the database. The requested instance can be repriced at the time of applying the changes to the database.
EAI Siebel Adapter
This service finds application in processes internal to Siebel as well as EAI flows. It has methods to query for Siebel data as well as update or insert data. EAI Siebel Adapter works on interface layer objects called “Integration Objects”. Integration objects map to Business Objects in the business layer and have “Integration Components” mapped to Business Components. The hierarchy and the parent-child relationships are depicted using property sets.
I’m a self-proclaimed biggest fan of
EAI Siebel Adapter. The service is invaluable for any database operations that involve more than 10 fields/2 entities.
Complex Object Instance Service (COIS)
eConfigurator is supported by this service. Any API call involves an invocation of one or the other of its method. Configurator workflows do not deal with this service directly, they always make use of the “SIS OM PMT Service”. This hides some of the complexities behind the wrapper.
Remote Complex Object Instance Service (RCOIS)
RCOIS has APIs identical to COIS and acts as a proxy to COIS. This implies that it does not directly execute the Configurator logic but gets it done using COIS. RCOIS is relevant in a dedicated Configurator environment. It will accept any Configurator request and determines the server on which the request is redirected. This is done in tandem with the eCfg Object Manager logic, which will also take into account the load balancing algorithm and the distributed cache settings.
The eConfigurator session invoked by the user will use RCOIS in a dedicated Configurator environment, and COIS otherwise. RCOIS can be called by other OOB or custom services.
You have seen the core workflows and business services that are involved in Siebel order management process. Look out for a subsequent post that explains configurator APIs in more detail.