Is it possible in O2A OOB inflight order cancelation to accept purchase request for product ?
We are using O2A 7.0.3 OOB cartridges and as per OOB functionality in-flight cancelation is working fine.
CRM has configured one product like 'Cancelation Fee’. While submitting in-flight order cancelation request CRM is also passing this product to OSM with action add. Business is expecting that in cancelation request CRM will send this product to OSM and then OSM will send this product purchase request to BRM so that cancelation fee will apply to that customer.
1. While comparing OOB xml i.e. ‘SalesOrder10000DeliverEBM.xml’ and ‘SalesOrder10000CancelEBM.xml’ we cannot see ant new product gets purchased in ‘SalesOrder10000CancelEBM.xml’.
2. Is it possible in O2A OOB to accept this purchase request?
3. If we do customization then also is it a good approach to purchase single product in cancelation request?
4. We need Oracle recommendation that what will be the ideal approach in this scenario (is there any facility available in CRM/BRM to apply these charges)?
1. While comparing OOB xml i.e. ‘SalesOrder10000DeliverEBM.xml’ and ‘SalesOrder10000CancelEBM.xml’ we cannot see ant new product gets purchased in ‘SalesOrder10000CancelEBM.xml’. Yes, both xmls are same except the FulfillmentModeCode is different in both the xmls. SalesOrder10000DeliverEBM.xml has FulfillmentModeCode: DELIVER which is expected to complete the order and SalesOrder10000CancelEBM.xml has FulfillmentModeCode: CANCEL which is for cancelling the order. There is no additional product purchase as you mentioned.
2. Is it possible in O2A OOB to accept this purchase request? This scenario is very much possible in O2A. But, there might be a need to modify existing OOB functionality to match your business requirement for the CANCEL Order to handle new line items. Current functionality initially looks for FulfillmentModeCode, if it is CANCEL then OSM cancels the entire order. But, this is what you can try with current O2A OOB without any modifications: This is not a workaround for your business requirement but you can try.
*1)From Siebel, submit an order for Delivery including all necessary line items*
*2)Before the order reaches PONR, in Siebel create a revision for that particular order. In the SalesOrder window first remove all line items which are existing and now add the "Cancelation Fee" line item alone then submit it for delivery.*
*3)OSM receives a revision on the current order with only "Cancelation Fee" line item. OSM performs undo action for all other items which were present in the prior order and then fulfill the order for "Cancellation Fee" line item alone.*
*4)This way the similar functionality can be achieved but except Siebel Order Status will be Complete instead of Cancelled*
3. If we do customization then also is it a good approach to purchase single product in cancelation request? This is a good approach as far as I feel. If the customer cancels the order then he might be attracted a cancellation fee.
4. We need Oracle recommendation that what will be the ideal approach in this scenario (is there any facility available in CRM/BRM to apply these charges)? OSMs O2A cartridges have to be customized inorder to address this particular scenario.
For this requirement we can use revision order but I think business will not accept this solution as he want to see final order status as ‘canceled’ on CRM screen and not ‘Completed’.
Can we achieve this functionality using OOB cancel order by doing some customization in OSM/PIP?
Or by sending some falg in InitiateBilling Undo request and then AIA/BRM will take care of applying these charges in BRM.
Yes, we cannot use revision order because it wouldn't be according to business standards. That is why in my previous response that I mentioned another temporary approach(but it is not a work around at all) :)
Please try the following as I couldn't do it myself because am little bit busy. I am not sure whether this works.
Scenario : New Order in progress. Cancel Order is received with a Fee. That Fee should be synced to BRM and customer should be charged.
FulfillmentModeCode : CANCEL
1)Navigate to ProductSpecification->Orchestration Plan tab, Select Fulfillment Mode as CANCEL.
2)Inside Orchestration Plan tab -> Order Components. Select function SyncCustomer and in the conditions tabe define the condition that it should get decomposed only if there is Fee with action code "ADD".
3)Repeat the same step 2 for FulfillBilling Function also.
4)Navigate to Dependencies tab under Orchestration Plan and define dependency between SyncCustomer & FulfillBilling.
5)Customize the final status message to Siebel, that all lines are cancelled in the end instead of completed.
As this feature is not available OOTB, Please try it out :)
Otherwise another approach, Try out a New FulfillmentModeCode say "Agreement Cancel" and define the things mentioned above. This approach will be separate path Which will not mess up existing OOTB logic.