[This message was posted by John Prewett of Lava Trading <[email protected]> to the "4.2 Changes" discussion forum at http://fixprotocol.org/discuss/5. You can reply to it on-line at http://fixprotocol.org/discuss/read/a1cf4d39 - PLEASE DO NOT REPLY BY MAIL.]
Now that I have more of the picture, maybe you want to consider this: 1. When the customer sends in a NewOrderSingle, respond with an ExecReport(PendingNew). 2. When the customer sends in a CancelReplaceRequest against an original order, issue an ExecReport(new) on the original order and an ExecReport(pendingReplace) on the replacement version. 3. When the customer sends in a CancelReplaceRequest against a previous replacement order, issue an ExecReport(replaced) for the previous replacement order and an ExecReport(pendingReplace) for the new replacement version. 4. When the customer sends in a CancelRequest against an original order, issue an ExecReport(new) against the original order and an ExecReport(canceled) for the CancelRequest. 5. When the customer sends in a CancelRequest against a replacement order, issue an ExecReport(replaced) against the replacement order and then an ExecReport(Canceled) for the CancelRequest. In the above manner, you have never actually confirmed the latest version of an order, so you can ultimately send a NewOrderSingle to the market when it becomes available with the most recent version of an order and take the following actions, depending on the market's response: A. If the market accepts the order and the order was the original version, issue an ExecReport(new). B. If the market rejects the order and the order was the original version, issue an ExecReport(rejected). C. If the market accepts the order and the order was actually a replacement version, issue an ExecReport(replaced). D. If the market rejects the order and the order was a replacement version, this is the only tricky scenario. You must issue an unsolicited cancel on the previous version of the order, followed by a CancelReject for the replacement version. I believe this removes any liability as a result of your system actually accepting an order. You only accept an order when the next version is submitted. I hope this helps. JohnP [You can unsubscribe from this discussion group by sending a message to mailto:[email protected]] -- You received this message because you are subscribed to the Google Groups "Financial Information eXchange" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/fix-protocol?hl=en.
