Hi Lynn,
In response to the first part of your question:
I think that the root cause lies with the fact that we follow the state transition diagram of TMF652 for resource order items. The standard is ambiguous as it states that this diagram applies to resource orders, but it does not say anything about resource order items. On the other hand, the resource model provides exactly the same list of state values for resource order and resource order items. That's why we have adopted the same lifecycle. This being said:
- For the resource order item that has an unresolved fallout, we follow the transition "Held" to "Cancelled". The transition to "Failed" is not available out of "Held" state.
- The same applies for the "Held" resource order. We cannot transition to "Partial". And the definition of "Partial" does not apply because the problematic resource order item is not in state "Failed".
But I would love to hear from the community on this state diagram.
Regarding to your second question on aggregation: I agree with you that the Open API standards are not very verbose on those so-called "consistence rules" (term employed by TMF641 & TMF622). You will find some basic rules in TMF622. We have implemented the following rule in the fallout use case in IG1228 use case, as regards the "Held" state: An order is in state "Held" if at least one order item is in state "Held" and the remaining order items cannot progress, because:
- either their state is final; OR
- they depend on the "Held" order items.
Regarding your third question: We have indeed chosen your second approach. The whole order is cancelled as a result of the cancellation of one item. And we roll back the completed items (which is relatively simple in our use case). Yet another approach could be to split the order into 2 orders, each following their own lifecycle, in case the cancellation of an order item would be a frequent event.
Hope this helps,
------------------------------
Roland Leners
alvatross by SATEC
------------------------------
Original Message:
Sent: Nov 24, 2022 12:26
From: Lynn Dueck
Subject: Order cancellation with mixed order line states
Hi Roland,
If I understand the IG1228 correctly, the fallout mgmt component sets the state of the fallout to indicate that there is no resolution.
In response, the OM component triggers an internal cancellation of the partial work performed by the order item and sets the state of that one line item to "cancelled".
When all lines in that order are finished, what is the aggregated order state that the OM system would set? Is the order state "cancelled" or "completed"? (I believe partial is used for a mix of failed and complete states, not cancelled and complete states)
(I'm looking specifically at the sequence diagram in section 5.4.4 Order fallout completion)
I think one thing that's missing in my research is how the order state is aggregated from the various line item states. I haven't been able to find much on the forum in relation to that topic.
The scenario I'm curious about is slightly different, in wondering what the OM system would do in response to a cancel<PO/SO/RO>Order request? If any line item is in a final state (failed or completed) then should it reject the cancellation since part of the order is already at a terminal state and cannot be cancelled? If this is true, then what we're really saying is that a terminal state for a single line item equates to the PONR for that order. An order cannot be cancelled in this scenario. The recourse would be to submit a follow on order with appropriate actions.
An alternative would be to allow the cancel request to proceed but only operate on line items that are not yet in a terminal state. If this were the recommended pattern then I'd be confused as to what the final, aggregated PO state would be if one line is cancelled and others are complete. This ties into the IG1228 discussion as to what the final state is when the cancellation is triggered internally.
I'd appreciate your thoughts,
Lynn
------------------------------
Lynn Dueck
Oracle Corporation
Original Message:
Sent: Nov 08, 2022 03:48
From: Roland Leners
Subject: Order cancellation with mixed order line states
Hi Lynn,
We explore a similar question at resource order level in use case 011 of IG1228. In one of the scenario's we consider a resource order that is a mix of 2 completed items & 1 cancelled item (because of unsuccessful fallout resolution). We have set the whole order to state "Cancelled". Version 12 of IG1228 is published (pre-production) and you will find the discussion on page 118 of the PDF. Looking forward to your comments.
Best regards,
------------------------------
Roland Leners
alvatross by SATEC
Original Message:
Sent: Oct 31, 2022 17:45
From: Lynn Dueck
Subject: Order cancellation with mixed order line states
This question is applicable to either 641 or 622.
Complete and failed are final states for a product order or product order item. If we have an in progress order, with a mix of order line states such that some items are healthy and "in progress" and others are failed - what is the expected behavior if a cancellation request comes in?
Do you provide any guidance on this scenario?
Is it the case that once a line item reaches a final state, then the entire order should be considered past PONR and all cancellation requests would be rejected? Or do you leave this up to the implementation? But in that case... it isn't permitted to transition an order item in failed state back to assessing cancellation, is it?
If the order is past PONR once any line fails, is the expectation then that a follow on order would be submitted to fix whatever problems exist in the stack?
thanks for your input,
Lynn
------------------------------
Lynn Dueck
Oracle Corporation
------------------------------