Siebel Cookbook
Recipe Eight
The Recipe
• Implement a demonstration of Internal Integration of the PSP Engine in Siebel Enterprise
• This example appears in the Siebel Bookshelf but we had to make a few changes to get it to work.
The Ingredients
• Siebel Tools• Siebel Sample Database
Preparation
• Make sure you have a working Siebel Tools and Sample database, take a backup before you begin
• Take Archive Files of any of the Objects modified in this Cookbook, so that you can roll back easily.
Overview
• The example will implement PSP using the Opportunity Product Business Component– Users will be able to click the Get List Price
button and the Opportunity Product lines will be updated automatically by PSP
– The example uses Signals, Variable Maps and a Custom PSP Workflow
Part One
• To implement the Opportunity Pricing begin by changing the Class of Opportunity and Opportunity Product– For more information about the licenses you need
and Classes see the Bookshelf
Part Two
• Create a Simple Button and Command to call a Method Name you can decide on now
Part Three
• Create Integration Objects and Integration Components to support the Variable Map we will use– Call it ISS Opportunity or something similar,
remember to update the Business Component User Properties for Opportunity and Opportunity Product
Part Three
• The Integration Object Components and their Fields will support our Variable Maps for our Row Sets– Opportunity will provide two fields, Name and
Account Price List Id– Opportunity Product will provide seven fields
such as the Product Id, Net Price and Cost
Part Four
• Create a Signal for your Button– The Signal uses
Workflow RunProcess and calls PSP Driver Workflow
– The SubPSPWFName is the Workflow we will create later
Part Four
• RowScope– If you want the button to reprice a single Line
Item, enter Selected– If you want to reprice the complete
Opportunity, choose enter All
Part Five
• Create Variable Maps to Support your new Opportunity and Opportunity Product Row Sets– Make sure to match Variable Names to the Integration
Component Field External Name – Respect Data Types paying attention to Currency,
Number, ID and Boolean fields in our Integration Components
Part Five
• Variable Maps– Make sure for each of the two Variable Maps
you use the name you provided in the Signal– Make sure for each Variable Map you provide
the Mode details in the Mode View Tab
Part Five
• Context Variable Map– In Modes View, add “Any, Header” to match
the Integration Object in Siebel Tools– Make sure you add two Fields– For the Price List Id Variable, make sure the
Source is $Current\Header\Account Price List Id
Part Five
• Row Variable Map– In Modes View, add “Any, Line Item”
• The Source for the Variable Maps– For Opportunity Product should be
$Current/Line Item/XXX where XXX is the External Name of the Integration Object Component Field
Part Six
• Create a Siebel Workflow– Start– Business Service– End
Part Seven
• Set up Two Process Properties of Type Hierarchy, to match those expected in the PSP Driver Workflow
Part Eight
• Set up the Input Arguments of the Business Service Row Set Transformation Toolkit, Simple Look Up Transform (see Zip File)
Part Nine
• Set up the Output Arguments of the Business Service Row Set Transformation Toolkit, Simple Look Up Transform
Part Ten
• The Workflow is provided as a downloadable XML File
• Compile all the modified Objects and Publish and Activate the Workflow
Part Eleven
• Create and Activate a Price List with at least one Price List Item with a Price
• Assign the Price List (Account > More Info) to an Account– Remember we used Account Price List Id to
provide the Price List for PSP
Part Twelve
• Execute the Workflow by Clicking the Button
Conclusion
• The PSP engine accepts RowSets and updates them according to our Pricing Workflow– Demonstrating Signals, Variable Maps and
Workflow
Files
• Zip file – With SIF Files of Siebel Tools Data– With XML of Workflow Process
Reference
• For the High-level steps you can follow the example in the Bookshelf, but use the files and Workflow provided here