Query related to Amend & Cancels in Order Management
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-02-2025 03:48 AM
Hello,
This query is with regards to article 3112399 (DYK Article for Amend and Cancels). I was unable to include comments in this article as it gives an error, hence posting my queries here
I have a couple of queries regarding the "action" attribute. From my understanding, when we send a PATCH request, the value in the action field should match the value sent in the POST request. For instance, if the original POST request was for a provide order (action=add), then the action in the PATCH request should also be "add."
However, is it possible to perform amend actions based on the values specified in the "action" attribute of the PATCH request? For example, let's say I submit an order with 4 CFS using POST TMF-641.
Now, for the amendment, I need to cancel one CFS, modify attributes in another CFS, and leave the remaining 2 CFS unchanged. Ideally, in such scenarios, a PATCH request would be submitted with action=cancel (to cancel an OLI), action=change (to amend an OLI), and action=no-change (for OLIs with no changes). However, this approach does not seem to work in ServiceNow, and I wanted to understand if there is a specific reason for this.
Additionally, to cancel an OLI, we need to use the "revisionOperator" attribute. This attribute has three possible values in ServiceNow: Cancel, Change and None. However, in this case, only the "cancel" value is accepted, and using the other values, in the PATCH payload, results in an error from ServiceNow. I was trying achieve for the above mentioned scenario, i.e. to include all CFS in PATCH request, with revisionOperation as "Cancel" to remove an OLI, "Change" to amend an OLI and "None" for including OLI with no changes. I would like to know if there is a specific reason for this limitation as well.
Thank You,
Kind Regards,
Ashwajit
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-02-2025 05:18 AM
Hi @ashwajit_b
In the scenario you described -
> to cancel/remove an OLI during a PATCH, as you pointed out, you need to pass 'revisionOperation = cancel' for that OLI.
> to change, you need to pass the original action = add but along with the changes in the characteristics. This is because the PATCH is against the original business action.
> In no other scenario, you should be using the revisionOperation field in the payload.