[This message was posted by Michael Brock of Applied Algorithms, Inc. <[EMAIL 
PROTECTED]> to the "FAST Protocol" discussion forum at 
http://fixprotocol.org/discuss/46. You can reply to it on-line at 
http://fixprotocol.org/discuss/read/0bdf40d9 - PLEASE DO NOT REPLY BY MAIL.]

Declan:

   For what it's worth, I also get NULL values for sequence elements 7 and 8 
using code unrelated to the CME Java implementation.

   In both the 7th and the 8th sequence elements it looks as if the exponent 
was NULL. Which made the entire optional decimal NULL. The mantissa therefore 
never made it to the stream.

   Also seems correct that the element 9 mantissa value of -4265 was applied as 
delta to the element 6 mantissa value of 4300.

   Some spam follows. Hope this helps,

   M



B:     1128 ApplVerID                       String         1 false false false 
Constant   [PMap=0] [Data=                        ] String     = [8]
B:       35 MessageType                     String         1 false false false 
Constant   [PMap=0] [Data=                        ] String     = [X]
B:       49 SenderCompID                    String         1 false false false 
Constant   [PMap=0] [Data=                        ] String     = [CME]
B:       34 MsgSeqNum                       UInt32         1 false false false 
None       [PMap=0] [Data=10 58 47 f6             ] UInt32     = [35005430]
B:       52 SendingTime                     UInt64         1 false false false 
None       [PMap=0] [Data=23 55 72 76 3b 4b 21 f5 ] UInt64     = 
[20081031133712629]
B:       43 PosDupFlag                      String         1 true  true  true  
Default    [PMap=0] [Data=                        ] String     = [] (NULL)
B:       75 TradeDate                       UInt32         1 false false false 
None       [PMap=0] [Data=09 49 53 87             ] UInt32     = [20081031]
B:        0 MDEntries                       Sequence      13 false false false 
None       [PMap=0] [Data=                        ] Sequence   = [] (N/A)
B: *    268 NoMDEntries                     UInt32         1 false false false 
None       [PMap=0] [Data=8b                      ] UInt32     = [11]
B: *    279 MDUpdateAction                  UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [5]
B: *   1023 MDPriceLevel                    UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [1]
B: *    269 MDEntryType                     String         1 false true  false 
Copy       [PMap=1] [Data=b0                      ] String     = [0]
B: *     22 SecurityIDSource                UInt32         1 false false false 
Constant   [PMap=0] [Data=                        ] UInt32     = [8]
B: *     48 SecurityID                      UInt32         1 false false false 
Delta      [PMap=0] [Data=1e 53 fb                ] UInt32     = [502267]
B: *     83 RptSeq                          UInt32         1 false false false 
Delta      [PMap=0] [Data=03 4c 88                ] UInt32     = [58888]
B: *    270 MDEntryPx                       Decimal        2 true  false false 
None       [PMap=0] [Data=                        ] Decimal    = [] (NULL)
B: *      0                                 SInt32         1 true  true  true  
Default    [PMap=0] [Data=                        ] SInt32     = [0]
B: *      0                                 SInt64         1 false false false 
Delta      [PMap=0] [Data=11 fc                   ] SInt64     = [2300]
B: *    271 MDEntrySize                     SInt32         1 false false false 
Delta      [PMap=0] [Data=06 96                   ] SInt32     = [790]
B: *    273 MDEntryTime                     UInt32         1 false false false 
Delta      [PMap=0] [Data=3f 61 11 80             ] UInt32     = [133712000]
B: *    336 TradingSessionID                String         1 false true  false 
Default    [PMap=0] [Data=                        ] String     = [2]
B: *    346 NumberOfOrders                  UInt32         1 false true  false 
Copy       [PMap=1] [Data=82                      ] UInt32     = [2]
B: *    279 MDUpdateAction                  UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [5]
B: *   1023 MDPriceLevel                    UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [1]
B: *    269 MDEntryType                     String         1 false true  false 
Copy       [PMap=1] [Data=b1                      ] String     = [1]
B: *     22 SecurityIDSource                UInt32         1 false false false 
Constant   [PMap=0] [Data=                        ] UInt32     = [8]
B: *     48 SecurityID                      UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [502267]
B: *     83 RptSeq                          UInt32         1 false false false 
Delta      [PMap=0] [Data=81                      ] UInt32     = [58889]
B: *    270 MDEntryPx                       Decimal        2 true  false false 
None       [PMap=0] [Data=                        ] Decimal    = [] (NULL)
B: *      0                                 SInt32         1 true  true  true  
Default    [PMap=0] [Data=                        ] SInt32     = [0]
B: *      0                                 SInt64         1 false false false 
Delta      [PMap=0] [Data=03 f4                   ] SInt64     = [2800]
B: *    271 MDEntrySize                     SInt32         1 false false false 
Delta      [PMap=0] [Data=7e 81                   ] SInt32     = [535]
B: *    273 MDEntryTime                     UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [133712000]
B: *    336 TradingSessionID                String         1 false true  false 
Default    [PMap=0] [Data=                        ] String     = [2]
B: *    346 NumberOfOrders                  UInt32         1 false true  false 
Copy       [PMap=0] [Data=                        ] UInt32     = [2]
B: *    279 MDUpdateAction                  UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [5]
B: *   1023 MDPriceLevel                    UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [1]
B: *    269 MDEntryType                     String         1 false true  false 
Copy       [PMap=1] [Data=b0                      ] String     = [0]
B: *     22 SecurityIDSource                UInt32         1 false false false 
Constant   [PMap=0] [Data=                        ] UInt32     = [8]
B: *     48 SecurityID                      UInt32         1 false false false 
Delta      [PMap=0] [Data=11 4e f3                ] UInt32     = [790894]
B: *     83 RptSeq                          UInt32         1 false false false 
Delta      [PMap=0] [Data=59 ca                   ] UInt32     = [53971]
B: *    270 MDEntryPx                       Decimal        2 true  false false 
None       [PMap=0] [Data=                        ] Decimal    = [] (NULL)
B: *      0                                 SInt32         1 true  true  true  
Default    [PMap=0] [Data=                        ] SInt32     = [0]
B: *      0                                 SInt64         1 false false false 
Delta      [PMap=0] [Data=03 c2                   ] SInt64     = [3250]
B: *    271 MDEntrySize                     SInt32         1 false false false 
Delta      [PMap=0] [Data=c9                      ] SInt32     = [480]
B: *    273 MDEntryTime                     UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [133712000]
B: *    336 TradingSessionID                String         1 false true  false 
Default    [PMap=0] [Data=                        ] String     = [2]
B: *    346 NumberOfOrders                  UInt32         1 false true  false 
Copy       [PMap=0] [Data=                        ] UInt32     = [2]
B: *    279 MDUpdateAction                  UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [5]
B: *   1023 MDPriceLevel                    UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [1]
B: *    269 MDEntryType                     String         1 false true  false 
Copy       [PMap=1] [Data=b1                      ] String     = [1]
B: *     22 SecurityIDSource                UInt32         1 false false false 
Constant   [PMap=0] [Data=                        ] UInt32     = [8]
B: *     48 SecurityID                      UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [790894]
B: *     83 RptSeq                          UInt32         1 false false false 
Delta      [PMap=0] [Data=81                      ] UInt32     = [53972]
B: *    270 MDEntryPx                       Decimal        2 true  false false 
None       [PMap=0] [Data=                        ] Decimal    = [] (NULL)
B: *      0                                 SInt32         1 true  true  true  
Default    [PMap=0] [Data=                        ] SInt32     = [0]
B: *      0                                 SInt64         1 false false false 
Delta      [PMap=0] [Data=03 f4                   ] SInt64     = [3750]
B: *    271 MDEntrySize                     SInt32         1 false false false 
Delta      [PMap=0] [Data=01 d7                   ] SInt32     = [695]
B: *    273 MDEntryTime                     UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [133712000]
B: *    336 TradingSessionID                String         1 false true  false 
Default    [PMap=0] [Data=                        ] String     = [2]
B: *    346 NumberOfOrders                  UInt32         1 false true  false 
Copy       [PMap=0] [Data=                        ] UInt32     = [2]
B: *    279 MDUpdateAction                  UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [5]
B: *   1023 MDPriceLevel                    UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [1]
B: *    269 MDEntryType                     String         1 false true  false 
Copy       [PMap=1] [Data=b0                      ] String     = [0]
B: *     22 SecurityIDSource                UInt32         1 false false false 
Constant   [PMap=0] [Data=                        ] UInt32     = [8]
B: *     48 SecurityID                      UInt32         1 false false false 
Delta      [PMap=0] [Data=57 30 ff                ] UInt32     = [125421]
B: *     83 RptSeq                          UInt32         1 false false false 
Delta      [PMap=0] [Data=28 8e                   ] UInt32     = [59106]
B: *    270 MDEntryPx                       Decimal        2 true  false false 
None       [PMap=0] [Data=                        ] Decimal    = [] (NULL)
B: *      0                                 SInt32         1 true  true  true  
Default    [PMap=0] [Data=                        ] SInt32     = [0]
B: *      0                                 SInt64         1 false false false 
Delta      [PMap=0] [Data=b2                      ] SInt64     = [3800]
B: *    271 MDEntrySize                     SInt32         1 false false false 
Delta      [PMap=0] [Data=7e a9                   ] SInt32     = [480]
B: *    273 MDEntryTime                     UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [133712000]
B: *    336 TradingSessionID                String         1 false true  false 
Default    [PMap=0] [Data=                        ] String     = [2]
B: *    346 NumberOfOrders                  UInt32         1 false true  false 
Copy       [PMap=0] [Data=                        ] UInt32     = [2]
B: *    279 MDUpdateAction                  UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [5]
B: *   1023 MDPriceLevel                    UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [1]
B: *    269 MDEntryType                     String         1 false true  false 
Copy       [PMap=1] [Data=b1                      ] String     = [1]
B: *     22 SecurityIDSource                UInt32         1 false false false 
Constant   [PMap=0] [Data=                        ] UInt32     = [8]
B: *     48 SecurityID                      UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [125421]
B: *     83 RptSeq                          UInt32         1 false false false 
Delta      [PMap=0] [Data=81                      ] UInt32     = [59107]
B: *    270 MDEntryPx                       Decimal        2 true  false false 
None       [PMap=0] [Data=                        ] Decimal    = [] (NULL)
B: *      0                                 SInt32         1 true  true  true  
Default    [PMap=0] [Data=                        ] SInt32     = [0]
B: *      0                                 SInt64         1 false false false 
Delta      [PMap=0] [Data=03 f4                   ] SInt64     = [4300]
B: *    271 MDEntrySize                     SInt32         1 false false false 
Delta      [PMap=0] [Data=01 a5                   ] SInt32     = [645]
B: *    273 MDEntryTime                     UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [133712000]
B: *    336 TradingSessionID                String         1 false true  false 
Default    [PMap=0] [Data=                        ] String     = [2]
B: *    346 NumberOfOrders                  UInt32         1 false true  false 
Copy       [PMap=0] [Data=                        ] UInt32     = [2]
B: *    279 MDUpdateAction                  UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [5]
B: *   1023 MDPriceLevel                    UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [1]
B: *    269 MDEntryType                     String         1 false true  false 
Copy       [PMap=1] [Data=b0                      ] String     = [0]
B: *     22 SecurityIDSource                UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [8]
B: *     48 SecurityID                      UInt32         1 false false false 
Delta      [PMap=1] [Data=09 67 8b                ] UInt32     = [286072]
B: *     83 RptSeq                          UInt32         1 false false false 
Delta      [PMap=1] [Data=05 24 d7                ] UInt32     = [145722]
B: *    270 MDEntryPx                       Decimal        2 true  false false 
None       [PMap=1] [Data=                        ] Decimal    = [] (NULL)
B: *      0                                 SInt32         1 true  true  true  
Default    [PMap=1] [Data=80                      ] SInt32     = [] (NULL)
B: *    271 MDEntrySize                     SInt32         1 false false false 
Delta      [PMap=0] [Data=7a fb                   ] SInt32     = [0]
B: *    273 MDEntryTime                     UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [133712000]
B: *    336 TradingSessionID                String         1 false true  false 
Default    [PMap=0] [Data=                        ] String     = [2]
B: *    346 NumberOfOrders                  UInt32         1 false true  false 
Copy       [PMap=1] [Data=80                      ] UInt32     = [0]
B: *    279 MDUpdateAction                  UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [5]
B: *   1023 MDPriceLevel                    UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [1]
B: *    269 MDEntryType                     String         1 false true  false 
Copy       [PMap=1] [Data=b1                      ] String     = [1]
B: *     22 SecurityIDSource                UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [8]
B: *     48 SecurityID                      UInt32         1 false false false 
Delta      [PMap=1] [Data=80                      ] UInt32     = [286072]
B: *     83 RptSeq                          UInt32         1 false false false 
Delta      [PMap=1] [Data=81                      ] UInt32     = [145723]
B: *    270 MDEntryPx                       Decimal        2 true  false false 
None       [PMap=1] [Data=                        ] Decimal    = [] (NULL)
B: *      0                                 SInt32         1 true  true  true  
Default    [PMap=1] [Data=80                      ] SInt32     = [] (NULL)
B: *    271 MDEntrySize                     SInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] SInt32     = [0]
B: *    273 MDEntryTime                     UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [133712000]
B: *    336 TradingSessionID                String         1 false true  false 
Default    [PMap=0] [Data=                        ] String     = [2]
B: *    346 NumberOfOrders                  UInt32         1 false true  false 
Copy       [PMap=0] [Data=                        ] UInt32     = [0]
B: *    279 MDUpdateAction                  UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [5]
B: *   1023 MDPriceLevel                    UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [1]
B: *    269 MDEntryType                     String         1 false true  false 
Copy       [PMap=1] [Data=b0                      ] String     = [0]
B: *     22 SecurityIDSource                UInt32         1 false false false 
Constant   [PMap=0] [Data=                        ] UInt32     = [8]
B: *     48 SecurityID                      UInt32         1 false false false 
Delta      [PMap=0] [Data=0f 6b ab                ] UInt32     = [545571]
B: *     83 RptSeq                          UInt32         1 false false false 
Delta      [PMap=0] [Data=77 30 a4                ] UInt32     = [4447]
B: *    270 MDEntryPx                       Decimal        2 true  false false 
None       [PMap=0] [Data=                        ] Decimal    = [] (NULL)
B: *      0                                 SInt32         1 true  true  true  
Default    [PMap=0] [Data=                        ] SInt32     = [0]
B: *      0                                 SInt64         1 false false false 
Delta      [PMap=0] [Data=5e d7                   ] SInt64     = [35]
B: *    271 MDEntrySize                     SInt32         1 false false false 
Delta      [PMap=0] [Data=03 f4                   ] SInt32     = [500]
B: *    273 MDEntryTime                     UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [133712000]
B: *    336 TradingSessionID                String         1 false true  false 
Default    [PMap=0] [Data=                        ] String     = [2]
B: *    346 NumberOfOrders                  UInt32         1 false true  false 
Copy       [PMap=1] [Data=81                      ] UInt32     = [1]
B: *    279 MDUpdateAction                  UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [5]
B: *   1023 MDPriceLevel                    UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [1]
B: *    269 MDEntryType                     String         1 false true  false 
Copy       [PMap=1] [Data=b1                      ] String     = [1]
B: *     22 SecurityIDSource                UInt32         1 false false false 
Constant   [PMap=0] [Data=                        ] UInt32     = [8]
B: *     48 SecurityID                      UInt32         1 false false false 
Delta      [PMap=0] [Data=0d 2d 9d                ] UInt32     = [764352]
B: *     83 RptSeq                          UInt32         1 false false false 
Delta      [PMap=0] [Data=01 5e ed                ] UInt32     = [32972]
B: *    270 MDEntryPx                       Decimal        2 true  false false 
None       [PMap=0] [Data=                        ] Decimal    = [] (NULL)
B: *      0                                 SInt32         1 true  true  true  
Default    [PMap=0] [Data=                        ] SInt32     = [0]
B: *      0                                 SInt64         1 false false false 
Delta      [PMap=0] [Data=0a d5                   ] SInt64     = [1400]
B: *    271 MDEntrySize                     SInt32         1 false false false 
Delta      [PMap=0] [Data=99                      ] SInt32     = [525]
B: *    273 MDEntryTime                     UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [133712000]
B: *    336 TradingSessionID                String         1 false true  false 
Default    [PMap=0] [Data=                        ] String     = [2]
B: *    346 NumberOfOrders                  UInt32         1 false true  false 
Copy       [PMap=1] [Data=82                      ] UInt32     = [2]
B: *    279 MDUpdateAction                  UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [5]
B: *   1023 MDPriceLevel                    UInt32         1 false false false 
Constant   [PMap=1] [Data=                        ] UInt32     = [1]
B: *    269 MDEntryType                     String         1 false true  false 
Copy       [PMap=1] [Data=b0                      ] String     = [0]
B: *     22 SecurityIDSource                UInt32         1 false false false 
Constant   [PMap=0] [Data=                        ] UInt32     = [8]
B: *     48 SecurityID                      UInt32         1 false false false 
Delta      [PMap=0] [Data=7c 22 98                ] UInt32     = [703192]
B: *     83 RptSeq                          UInt32         1 false false false 
Delta      [PMap=0] [Data=38 e6                   ] UInt32     = [40242]
B: *    270 MDEntryPx                       Decimal        2 true  false false 
None       [PMap=0] [Data=                        ] Decimal    = [] (NULL)
B: *      0                                 SInt32         1 true  true  true  
Default    [PMap=0] [Data=                        ] SInt32     = [0]
B: *      0                                 SInt64         1 false false false 
Delta      [PMap=0] [Data=7e ea                   ] SInt64     = [1250]
B: *    271 MDEntrySize                     SInt32         1 false false false 
Delta      [PMap=0] [Data=02 f7                   ] SInt32     = [900]
B: *    273 MDEntryTime                     UInt32         1 false false false 
Delta      [PMap=0] [Data=80                      ] UInt32     = [133712000]
B: *    336 TradingSessionID                String         1 false true  false 
Default    [PMap=0] [Data=                        ] String     = [2]
B: *    346 NumberOfOrders                  UInt32         1 false true  false 
Copy       [PMap=0] [Data=                        ] UInt32     = [2]

> Heres a message from the CME:
> 
>     static char anActualCMEMessage[] = { 0xc0, 0xa9, 0x10, 0x58, 0x47,
>     0xf6, 0x23, 0x55, 0x72, 0x76, 0x3b, 0x4b, 0x21, 0xf5, 0x09, 0x49,
>     0x53, 0x87, 0x8b, 0xc8, 0xb0, 0x1e, 0x53, 0xfb, 0x03, 0x4c, 0x88,
>     0x11, 0xfc, 0x06, 0x96, 0x3f, 0x61, 0x11, 0x80, 0x82, 0xc0, 0xb1,
>     0x80, 0x81, 0x03, 0xf4, 0x7e, 0x81, 0x80, 0xc0, 0xb0, 0x11, 0x4e,
>     0xf3, 0x59, 0xca, 0x03, 0xc2, 0xc9, 0x80, 0xc0, 0xb1, 0x80, 0x81,
>     0x03, 0xf4, 0x01, 0xd7, 0x80, 0xc0, 0xb0, 0x57, 0x30, 0xff, 0x28,
>     0x8e, 0xb2, 0x7e, 0xa9, 0x80, 0xc0, 0xb1, 0x80, 0x81, 0x03, 0xf4,
>     0x01, 0xa5, 0x80, 0xe8, 0xb0, 0x09, 0x67, 0x8b, 0x05, 0x24, 0xd7,
>     0x80, 0x7a, 0xfb, 0x80, 0x80, 0xe0, 0xb1, 0x80, 0x81, 0x80, 0x80,
>     0x80, 0xc8, 0xb0, 0x0f, 0x6b, 0xab, 0x77, 0x30, 0xa4, 0x5e, 0xd7,
>     0x03, 0xf4, 0x80, 0x81, 0xc8, 0xb1, 0x0d, 0x2d, 0x9d, 0x01, 0x5e,
>     0xed, 0x0a, 0xd5, 0x99, 0x80, 0x82, 0xc0, 0xb0, 0x7c, 0x22, 0x98,
>     0x38, 0xe6, 0x7e, 0xea, 0x02, 0xf7, 0x80 };
> 
> 
> There are 11 Incremental Market Refreshes in here from Template 41.
> 
> The CME Java decoder outputs the following:
> 
> [34]="35005430" [35]="X" [49]="CME" [52]="20081031133712629"
>     [75]="20081031" [268]="11"
> [35]="8" [48]="502267" [83]="58888" [MDEntryType]="0" [MDEntryPx]="2300"
>     [271]="790" [273]="133712000" [279]="5" [336]="2"
>     [NumberOfOrders]="2" [1023]="1"
> [36]="8" [48]="502267" [83]="58889" [MDEntryType]="1" [MDEntryPx]="2800"
>     [271]="535" [273]="133712000" [279]="5" [336]="2"
>     [NumberOfOrders]="2" [1023]="1"
> [37]="8" [48]="790894" [83]="53971" [MDEntryType]="0" [MDEntryPx]="3250"
>     [271]="480" [273]="133712000" [279]="5" [336]="2"
>     [NumberOfOrders]="2" [1023]="1"
> [38]="8" [48]="790894" [83]="53972" [MDEntryType]="1" [MDEntryPx]="3750"
>     [271]="695" [273]="133712000" [279]="5" [336]="2"
>     [NumberOfOrders]="2" [1023]="1"
> [39]="8" [48]="125421" [83]="59106" [MDEntryType]="0" [MDEntryPx]="3800"
>     [271]="480" [273]="133712000" [279]="5" [336]="2"
>     [NumberOfOrders]="2" [1023]="1"
> [40]="8" [48]="125421" [83]="59107" [MDEntryType]="1" [MDEntryPx]="4300"
>     [271]="645" [273]="133712000" [279]="5" [336]="2"
>     [NumberOfOrders]="2" [1023]="1"
> [41]="8" [48]="286072" [83]="145722" [MDEntryType]="0" [271]="0"
>     [273]="133712000" [279]="5" [336]="2" [NumberOfOrders]="0"
>     [1023]="1"
> [42]="8" [48]="286072" [83]="145723" [MDEntryType]="1" [271]="0"
>     [273]="133712000" [279]="5" [336]="2" [NumberOfOrders]="0"
>     [1023]="1"
> [43]="8" [48]="545571" [83]="4447" [MDEntryType]="0" [MDEntryPx]="35"
>     [271]="500" [273]="133712000" [279]="5" [336]="2"
>     [NumberOfOrders]="1" [1023]="1"
> [44]="8" [48]="764352" [83]="32972" [MDEntryType]="1" [MDEntryPx]="1400"
>     [271]="525" [273]="133712000" [279]="5" [336]="2"
>     [NumberOfOrders]="2" [1023]="1"
> [45]="8" [48]="703192" [83]="40242" [MDEntryType]="0" [MDEntryPx]="1250"
>     [271]="900" [273]="133712000" [279]="5" [336]="2"
>     [NumberOfOrders]="2" [1023]="1" [1128]="8"
> 
> It indicates that the MDEntryPx is absent for updates 7 and 8.
> 
> Then update 9 uses the prior value from update 6.
> 
> Heres the template entry for MDEntryPx:
> 
> <decimal name="MDEntryPx" id="270" presence="optional"> <exponent>
> <default value="0" /> </exponent> <mantissa> <delta /> </mantissa>
> </decimal>
> 
> There are multiple things in here that are confusing to me.
> 
> 1 - The PMAP Bit for the MDEntryPx fields in updates 7 and 8 are not
> set. This implies that I use the inital value and that the field is
> assigned. However I only have an initial value for the exponent not
> the mantissa.
> 
> 2 - The CME Java Decoder indicates the MDEntryPx fields are absent for
> updates 7 and 8 but then uses the prior value from 6 to calculate the
> new mantissa. The spec says that if the prior State of a Delta Value is
> empty then it is a dynamic error.
> 
> 3 - Optional Default Fields indicate that when they are absent the
> state/value should remain unchanged. This is how I have implemented it
> and the MDEntryPx for updates 7 and 8 then inherits the prior value from
> update 6 and stay assigned. Update 9 gets the correct delta value from 7
> and 8 and everything looks good.
> 
> 
> Any thoughts on the correct implementation of this would be greatly
> appreciated.
> 
> Cheers,
> 
> Declan


[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
-~----------~----~----~----~------~----~------~--~---

Reply via email to