Handle Execution Reports

Event handlers of execution report messages can be specified by session.

static FIXSessionOrderManagerSimplifiedListener simplified = new FIXSessionOrderManagerSimplifiedListener() {
    @Override
    public void executionAdded(FIXRegularOrder order, FIXMessage message,
            int statusChangeFlags, FIXEngineMessageHandlerStatus status) {
        // Use the code snippet below to inspect the changes triggered by the current execution message.
        if ((statusChangeFlags & FIXOrderManagerOrderChanges.CumQtyIncreased!= 0)
        {
            // TODO: Add your own business logic here.
        }
        // Or
        if ((statusChangeFlags & FIXOrderManagerOrderChanges.OrdStatusChanged!= 0)
        {
            // TODO: Add your own business logic here.
        }
        // Or
        if ((statusChangeFlags & FIXOrderManagerOrderChanges.InternalIgnore!= 0)
        {
            // TODO: Add your own business logic here.
        }
        // For more information, see FIXOrderManagerOrderChanges.    
    }

    @Override
    public void orderUpdated(FIXOrder order, int statusChangeFlags,
            FIXEngineMessageHandlerStatus status) {
        // Use the code snippet below to inspect the changes triggered by the current execution message.
        if ((statusChangeFlags & FIXOrderManagerOrderChanges.CumQtyIncreased!= 0)
        {
            // TODO: Add your own business logic here.
        }
        // Or
        if ((statusChangeFlags & FIXOrderManagerOrderChanges.OrdStatusChanged!= 0)
        {
            // TODO: Add your own business logic here.
        }
        // Or
        if ((statusChangeFlags & FIXOrderManagerOrderChanges.InternalIgnore!= 0)
        {
            // TODO: Add your own business logic here.
        }
        // For more information, see FIXOrderManagerOrderChanges.        
    }
};

This example works with FIX versions from 4.1 to 5.0+.