If a user connected via the MarketFeed protocol (port 8101) contributes the value zero "0" to ATS, the subscriber application over the same protocol receives a null value "N/A" instead of the real zero "0".
We could notice that if the subscriber application is Eikon 4 Excel, it is able to handle the situation by converting the null value into zero "0". RFA API is the tool being affected by this issue.
If the value zero "0" contributed to ATS comes from OMM protocol (port 14002), no problem is found, regardless if it's RFA API over port 8101 or Eikon via port 14002.
Does anyone know if this is a known issue with ATS?
There are several things to take into account and the overall workflow depends on the application you use to contribute and the configuration of the TREP-RT
1. Using an application, the value “0” is contributed. 2. The value is send to ATS server via ADS/ADH 3. The value is consumed by Eikon Excel as well.
Contributing the value 0. First, the contribution can be done either in OMM of Marketfeed format. MarketFeed format is a text format and a blank value is encoded as “+0”. To send a 0 value in MarketFeed you have to send “-0” (or “0”). OMM format is a binary format and you have to set a specific flag to indicate the value is blank and not 0. Then, the question is how the contribution application is behaving? In Eikon Excel, if you contribute the value from a cell that contains the value 0, Eikon Excel will contribute the 0 value and not a blank value. If you want to contribute a blank value you have to contribute the text “+0” (in excel cell you have to type: “‘+0” the “’” character forces the value to text mode in Excel). The other option is to contribute an empty cell, but for now there is a defect in Eikon Excel and the behavior is not consistent across all protocols (this will be fixed soon).
Propagation of the data between the contributor and ATS. ATS server relies on OMM protocol while the client application can contribute/consume data either in MarketFeed or OMM format. When the client application contributes and consumes OMM data, the workflow is pretty straight forward (there is no format conversion). When the client application contributes and consumes Marketfeed data, ADS and ADH servers have to convert data from MarketFeed to OMM and OMM to MarketFeed (for respectively contribution and subscription). Blank value conversion is impacted by these 2 settings:
*adh*convertToIDNStyle : True *ads*convertToIDNStyle : True
When they are set to True, MarketFeed blank value is converted to an OMM blank value and vice versa. When they are set to False (I think it is the default value), MarketFeed blank value is converted to a 0 value in OMM.
Consuming data in Eikon Excel. Once again, Eikon Excel does not have a consistent behavior for all protocols - this will be fixed soon. The expected behavior is to display either a blank value or #N/A. The value displayed is controlled by the following setting configurable in the file overideconfiguration.xml:
When set to true, Eikon Excel displays #N/A. When set to false, Eikon Excel set the cell to an empty content.