Sunday, August 28, 2011

How to bypass Signal on Order Object while doing Quote to Order conversion using AutoOrderSalesQuote signal with Dynamic Pricing in Place

 

We have dynamic pricing enabled in our environment with additional custom discounting defined for Quote and we convert Quote to Order just for integration purpose. When we convert quote to order - we are seeing following error message in log file all time. Sometime this stops whole execution.

Log file Error:-
Error invoking service "Context Service" method 'GetRowSetData'
Field: 'Additional Discount Flag' does not exists in definition for business component 'Order Entry – Orders'

GUI Error:-
img1
Note:- Additional Discount Flag is custom field added for one of additional discounting.

Upon analysis we found that CalculatePriceAll signal is invoked and this error occurred.

There are following option to bypass CalculatePriceAll function on Order Entry - Orders which we use as placeholder for integration so no changes are required/expected on Order object.

Option I - AutoOrderSalesQuote uses "QuoteToSalesOrder" as a data map. Navigate to Administration -Application > Data Map Administration and select QuoteToSalesOrder. In Data map component select header and select "Skip Order Management Signals"  on Destination Business component in Advance option.
img2

For us this option I was configured whereas it did not worked as we had customization in Dynamic Pricing.

Option II - Add appropriate condition to skip the signal. Navigate to Administration - Order Management > Signal > Query "CalculatePriceAll" and click on "Lock" > drill down on Workspace

img3
img4

Option III - Modify "PSP Driver Workflow Process" workflow process with following details.
Screen shot before configuration
IMG5

Configuration
1. Add "Mode" as process property in WF Property
2. I designed more add conditional step with default pointing to "End Step" and conditional branch to "". Condition to use "Mode" = "Quote"


img6

We chose option III as first two options were not working due to customization in pricing and we did use Order object as placeholder for integration.

 

: : :   E n j o y   : : :     :- )

1 comment:

  1. This is stunning how you have contrived to totally reveal the topic which you have selected for this particular entry of yours. By the way did you turn to some alike blog articles as a base to complete the whole situation which you published in this blog post?

    ReplyDelete