The AbortProductionOrder method is used to abnormally terminate, or abort, a production order that is in execution or starting or completing. Aborting cannot be reversed or undone.

The signature of this Method is specified below. Table 30 specifies the Arguments representation.


AbortProductionOrder (

[in] ProductionOrderHeaderType POToAbort,

[out] MethodExecutionFeedbackType ExecutionFeedback);

Table 30 – AbortProductionOrder Method Arguments




The production order to be aborted. The argument is unnecessary for execution (since at most one production order can be executed at any time in the machine module) but provided as a safety net since aborting cannot be reversed.


The extended feedback returning a detailed message in case of execution failure.

When the StateMachine is in state Starting, Execute or Completing, invoking the method causes the transition to state Aborting.

When the method is invoked in any other state, the method property Executable is False and when the method is invoked, the status code Bad_NotSupported is returned.

Aborting a production order is a non-reversible way to abnormally terminate a production order which requires removing all product or parts from the machine modules either automatically or manually depending on the implementation specifics. Because of the non-reversible impact, before executing the command to the underlying system, the server will verify that the ProductionOrder is the same as in the method argument provided as an additional safety net.

If the ProductionOrder is not the same as the POToAbort input argument, the execution of the method is terminated abnormally and reported via the execution feedback “The PO to be aborted is not running.”