Wednesday, February 17, 2016

How to perform "Apply Promotion" on Order?

If you are an expert in Siebel Order Management area, you would know that the OOTB workflow "ISS Promotion WS - ApplyProductPromotion" comes very handy for the scenario where we want to apply a Promotion on an existing Quote. Meaning this workflow accepts two input process properties, and System will gives you a complete quote hierarchy with the whole Promotion structure expanded in the Quote line items.

1) ProdPromId        : RowId of the Promotion record
2) SiebelMessage   : Quote hierarchy of IO: PDS Quote

But, there is no OOTB way available to perform the same operation on Order (in one step) as we can do over Quote.

Here below are the simple steps you can include in a wrapper workflow to make this happen. The best part is this complete solution uses OOTB workflows only.

·        Create a dummy Quote in a workflow Siebel Operation step. Get the RowId of the new Quote.

Output : QuoteId

·        Create SiebelMessage of Quote using EAI Siebel Adapter.

Input:
PrimaryRowId
Process Property
QuoteId
OutputIntObjectName
Literal
PDS Quote
                                               
Output:
SiebelMessage
Output Argument
SiebelMessage

·        Invoke WF: "ISS Promotion WS – ApplyProductPromotion", by passing the RowId of Promotion record and SiebelMessage.

Input:
ProdPromId
Process Property
<Promotion Row Id>
SiebelMessage
Process Property
SiebelMessage

Output:
SiebelMessage
Output Argument
SiebelMessage

·        Invoke WF: "SIS OM Quote To Order Workflow PMT Version". This will just convert the Quote into Order.

Input:
Object Id
Process Property
QuoteId

Output:
OrderId
Output Argument
OrderHeaderId


·        Invoke WF: "SISOMBillingSubmitOrderWebService", to submit the Order to downstream system.

Input:
Fulfillment Mode
Literal
Deliver
Object Id
Process Property
OrderId
Order Number
Process Property
<Order Number>
Order Revision Number
Process Property
<Revision Number>
PageSize
Literal
1
           


No comments:

Post a Comment