- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-27-2023 03:47 AM
Hi,
I have a scenario, wherein the order will take multiple days to complete. I want to implement inflight cancel/change on this order. These actions will not be through the UI, rather I need them to be implemented programmatically. In addition to this, I need to do undo transactions as well. To explain this, suppose the network is reserved, workforce appointment is booked and PONR is not yet reached. The customer can cancel the order. So the network reservation as well as workforce reservation needs to be rollbacked(undone). How can I achieve this, please suggest.
Thanks.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-27-2023 05:31 AM
Hi @Gargichatterjee ,
That is a good question. And here's how you can build it.
In the example below, I have two external system callouts - Reserve TN and Book Appointment.
Make use of the Order Task action to represent these.
Build a separate subflow for happy path + compensation actions as shown below.
Thus once the Order Task for 'Reserve TN' moves to In Progress, next step will be to call an extension subflow or a Flow (up to you) with the 3 different switch cases for the Revision Actions.
Within the Order Task, you have an option to configure the Inflight behaviour which will tell OM if the Order Task is to be re-executed or skipped based on the type of Inflight Change. If this is not configured, the Order Task will always be re-executed which will call the extension subflow and process the steps based on the Revision Operation (i.e. Happy path v/s Inflight Change v/s Inflight Cancel)
You can extend this logic further based on your requirements.
Hope this helps.
Regards
Shashank
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-27-2023 03:49 AM
Please suggest based on Utah and Vancouver versions.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-27-2023 04:18 AM - edited 11-27-2023 04:40 AM
Hi @Gargichatterjee ,
Order Management supports Inflight Change and Cancel via Open APIs i.e. TMF622 - Product Order and TMF641 - Service Order. If you are not using workspace UI to initiate the inflight change/cancel, you should use the patch/cancel APIs that are available OOTB.
Inflight Changes/Cancel orders cancels the in-progress workflows.
The rollback activities will not happen automatically, this will need to be configured as part of your workflows.
You may want to build a separate workflow for compensation activities and invoke it via the Decision table using 'Revision Operation' as one of the inputs. In the case of a Inflight Change & Cancel, the Revision Operation is set as 'Update' and 'Cancel' respectively.
Example:
Spec = Internet Service, Action = Add & Revision Operation = Cancel --> Subflow = Cancel Internet Provisioning
The 'Cancel Internet Provisioning' can then have the rollback etc. activities.
Here's the Order Management course for reference -
Regards
Shashank
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-27-2023 04:55 AM
Hi @ShashankInamdar , I understood that I need to write the flow for undo operations. But how will I know about what all activities have already been completed, and if those are completed, probably I need to have their response as well to undo the task (e.g. during network reservation inventory might generate some workorder number, how will I get those?)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-27-2023 05:31 AM
Hi @Gargichatterjee ,
That is a good question. And here's how you can build it.
In the example below, I have two external system callouts - Reserve TN and Book Appointment.
Make use of the Order Task action to represent these.
Build a separate subflow for happy path + compensation actions as shown below.
Thus once the Order Task for 'Reserve TN' moves to In Progress, next step will be to call an extension subflow or a Flow (up to you) with the 3 different switch cases for the Revision Actions.
Within the Order Task, you have an option to configure the Inflight behaviour which will tell OM if the Order Task is to be re-executed or skipped based on the type of Inflight Change. If this is not configured, the Order Task will always be re-executed which will call the extension subflow and process the steps based on the Revision Operation (i.e. Happy path v/s Inflight Change v/s Inflight Cancel)
You can extend this logic further based on your requirements.
Hope this helps.
Regards
Shashank