[This message was posted by jason braswell of Chopper Trading <[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/8f5f8a2b - PLEASE DO NOT REPLY BY MAIL.]
OK, I understand now. I was thinking there was a difference between a value being null and it being empty. In particular, I was assuming it could only be null if a null value was actually sent on the wire. Got it. Thanks. > Hi Jason, > > From your post: > > My problem is that for the very last field, tag 451, there is no initial > value in the template for the exponent. Also, if I'm reading it > correctly, the pmap bit is turned off for this field (because all pmaps > end with an infinite string of zeros). > >> This is correct. > > This means the exponent can't be null, which means I'm supposed to read > the mantissa. > >> This is incorrect. In your template exponent is Optional Default > >> filed which means it can be null. (Please review the Table 3.2 on > >> this page http://jettekfix.com/node/47) > In your case exponent is null (as does not present in the stream and > does not have initial value). (http://jettekfix.com/node/76) So if > exponent is null we does not decode mandatory field at all. The null > decoded value of Exponent means null of complex decimal value. (Please > read the notes after the image 3.20 on this page > http://jettekfix.com/node/58) > > In such case your table should look like: > > 11110011 Pmap 10110000 MandatoryDefault EntryType(269) Y 10000001 > OptionalDefault PriceExp(270) Y 01111110 11100010 MandatoryDelta > PriceMant(270) N/A 10001011 OptionalDelta EntrySize(271) N/A 10000000 > OptionalDefault QuoteCond(276) Y OptionalConstant TradeCond(277) N > OptionalCopy PriceLevel(1023) N 10000010 OptionalCopy NumOrders(346) Y > 10000000 OptionalDefault TradingSessID(277) Y OptionalDelta > TradeVol(1020) N OptionalDefault Tick Direction(274) N OptionalDefault > NetChangeExp(451) N MandatoryDelta NetChangeMantissa(451) N/A 10000000 > (Should be next Pmap) > > 11110101 (the first field in the fields group) > ____________________ > Best regards, Roman > > > I've read the other threads dealing with decimals and pmaps, but I'm > > still stumped with a recent decode problem. Below is a snippet of > > production data that I tried to parse the other day; it's the first > > element of a sequence. The bits are on the left, and my reading of the > > pmap status is on the far right. > > > > My problem is that for the very last field, tag 451, there is no > > initial value in the template for the exponent. Also, if I'm reading > > it correctly, the pmap bit is turned off for this field (because all > > pmaps end with an infinite string of zeros). This means the exponent > > can't be null, which means I'm supposed to read the mantissa. However, > > as you can see, it appears that the mantissa field is lined up with > > what looks like a null value on the wire. Even if it's not a null > > value, just a zero value, what can I do with a decimal that has no > > exponent? I'm thinking I *must* be reading that first pmap > > incorrectly. > > > > Help would be greatly appreciated. Thanks. > > > > 11110011 Pmap 10110000 MandatoryDefault EntryType(269) Y 10000001 > > OptionalDefault PriceExp(270) Y 01111110 11100010 MandatoryDelta > > PriceMant(270) N/A 10001011 OptionalDelta EntrySize(271) N/A 10000000 > > OptionalDefault QuoteCond(276) Y OptionalConstant TradeCond(277) N > > OptionalCopy PriceLevel(1023) N 10000010 OptionalCopy NumOrders(346) Y > > 10000000 OptionalDefault TradingSessID(277) Y OptionalDelta > > TradeVol(1020) N OptionalDefault Tick Direction(274) N OptionalDefault > > NetChangeExp(451) N 10000000 MandatoryDelta NetChangeMantissa(451) N/A > > 11110101 (Should be next Pmap) [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.
