Open APIs

 View Only
  • 1.  Order cancellation with mixed order line states

    TM Forum Member
    Posted Oct 31, 2022 17:46
    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
    ------------------------------


  • 2.  RE: Order cancellation with mixed order line states

    Posted Nov 08, 2022 03:49
    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
    ------------------------------



  • 3.  RE: Order cancellation with mixed order line states

    TM Forum Member
    Posted Nov 24, 2022 12:27
    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
    ------------------------------



  • 4.  RE: Order cancellation with mixed order line states

    Posted Nov 25, 2022 12:25
    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
    ------------------------------



  • 5.  RE: Order cancellation with mixed order line states

    TM Forum Member
    Posted Nov 29, 2022 08:59
    Hi Roland,

    One final question. with respect to this section of your response -  And we roll back the completed items 

    As you mention, the order item state diagram isn't actually specified in the standard so in that sense you're free to do whatever transitions you'd like.
    On the other hand, if it's implied that the order item state transitions should mimic the order state diagram - then how do you reconcile this? There aren't any transitions from completed (would you move to pendingCancellation in your case). Are you looking to get the state diagram updated? Or do you feel confident that an explicit order item diagram is not described for exactly this reason?

    ------------------------------
    Lynn Dueck
    Oracle Corporation
    ------------------------------



  • 6.  RE: Order cancellation with mixed order line states

    Posted Nov 29, 2022 10:16
    Hi Lynn,

    We do not roll back the completed order items. They are indeed final and cannot be rolled back. We follow the same state diagram for order items as for orders. The roll back process applies to the resources (and not the resource order items) that have been configured as part of the completed resource order items.

    My previous response was indeed not clear on this. Sorry for the confusion.

    Hope this helps,

    ------------------------------
    Roland Leners
    alvatross by SATEC
    ------------------------------