We have a new java application that accesses the Real-Time data as a Snapshot via the EMA java API. We came across a peculiar behavior, that our business department considers a showstopper for our acceptance test:
When receiving an ema.access.RefreshMsg for requesting data for RICs and processing the field list that is contained inside the RefreshMsg as a payload, we find, that for a small and random fraction of RICs, we receive an incomplete RefreshMsg that is missing one or more crucial Fields, such as BID, ASK or LATEST. When double checking for some exemplary RICs from within the EIKON Terminal, we found that the RIC did have the missing Fields displayed as “0” or “0.0” within EIKON, which led the business experts to conclude, that the price for the RIC had not been quoted yet. On the same day, we could confirm, that the missing field would indeed become available eventually at a later time.
The problem with that kind of behavior is, that it seems our old API connection would be able to discern between data that might still become available (and receive and report those Fields with a value of 0) and other data that is deemed to be permanently unavailable. So I have two questions:
How can we discern between temporary unavailable fields in RICs and other potentially permanent data issues at the field level?
What is the business interpretation of fields missing in a payload for a single RIC with an associated OmmState of (Data State: Ok, Stream State: Open, Status Code: None)?
Technical background info: Our old API connection was based on Thomson Reuter SSL Developers Kit (SDK) - C++ Edition Version 4.6.3 which will now be replaced by a java application based on EMA SDK Version 3.8.0. Our old Refinitiv Data Access Control System was Version 7.7 our new target Version is 7.9.
Example asof 2025/05/08 09:38 AM CET:
RIC: CAUSCOSR9Y=GCMN, PARTIAL DELIVERY: missing FIDs: [FieldID[value=22]]; OMMState:
Data State: Ok
Stream State: Open
Status Code: None
Other example instruments:
CAUSCOSR8Y=GCMN | PARTIAL DELIVERY: missing FIDs: [FieldID[value=22]] |
---|
CAUSCOSR9Y=GCMN | PARTIAL DELIVERY: missing FIDs: [FieldID[value=22]] |
CHF1YSACP500=ICAP | PARTIAL DELIVERY: missing FIDs: [FieldID[value=1031]] |
ES261665158= | PARTIAL DELIVERY: missing FIDs: [FieldID[value=1057]] |
EURAB6EE7Y=ICAP | PARTIAL DELIVERY: missing FIDs: [FieldID[value=25]] |
IT279199375= | PARTIAL DELIVERY: missing FIDs: [FieldID[value=1057]] |
SARON.S | PARTIAL DELIVERY: missing FIDs: [FieldID[value=18] |
US238792983= | PARTIAL DELIVERY: missing FIDs: [FieldID[value=1057]] |
| |