OMMDataBuffer.horizontalPosition() returns -1
Hi,
I am looking at the RIC LP62009689. Its DSPLY_NMLL field is a RMTES_STRING and its OMMDataBuffer.hasPartialUpdates() returns true. When I tried to iterate its partial updates, I got the following result:
(1) Horizontal offset -1, Data 0xEF 0xBE 0x86 0xEF 0xBD 0xAF 0xEF 0xBD 0xBE 0xEF 0xBD 0xB2 0x20 0xE5 0xA4 0x96 0xE5
(2) Horizontal offset 0, Data 0x20 0xE8 0xB3 0xBC 0xE5 0x85 0xA5
The RFA JavaDoc says offset -1 means "full buffer", then how come there is a second partial update whose offset is 0?
Do anyone has any idea how to interpret the result?
Regards,
CM
Best Answer
-
Hello @CM Wong
Thank you for your confirmation. I have checked the FID 1352 (Field DSPLY_NMLL) from the trace file:
The API received a blank value FID 1352 from Refresh message on 2020-12-02T04:24:29
FIELD_ENTRY 1352:
Then the API received data from Update message on 2020-12-02T19:58:56
FIELD_ENTRY 1352: efbe86efbdafefbdbeefbdb220e5a496e59bbde6a0aa49647820e8b3bce585a5
Based on the RMTES/Partial Update definition, it should not be the “Partial Update” because the update message contains an entire new message, not just some part of the position of update characters.
The Partial Update message should also have the following pattern as shown below:
Example Partial Update message from FXFX RIC:
FIELD_ENTRY 220: 1b5b33316020302e373539332f3 35
Which means: <CSI> n=31 <HPA> data = 0.7593/95 (20 30 2e 37 35 39 33 2f 39 35).
However, your incoming DSPLY_NMLL message is
FIELD_ENTRY 220: efbe86efbdafefbdbeefbdb220e5a496e59bbde6a0aa49647820e8b3bce585a5
The message does not look like Partial Update at all. It does not have any control and infra-field position characters. It looks like the Full update.
You can find more detail regarding the page-based data and partial update behavior from this article (the article is based on RTSDK Java, but the data concept is the same as RFA).
- Do you encounter the issue with other RICs and fields?
- Could you please re-test the issue with RFA Java 8.2.0L1 which is the latest version (you can download the API package from https://developers.refinitiv.com/en/api-catalog/thomson-reuters-enterprise-platform/robust-foundation-api-rfa-java/downloads page)?
0
Answers
-
Hello @CM Wong
I have checked the RIC LP62009689 (Nissay Foreign EQ Index). The RIC seems to provide Quote data for consumer, not the Page-based data which application needs to check the partial update.
Basically, the Page-based data contains text or numbers for over-the-counter traded instruments and emerging markets. The data are delivered through Real-time feed row by row, each row is identified by a unique field. The Page-based data contains field names in the "ROWx_x" pattern (example: ROW64_1, ROW80_1, ROW99_1, etc ). Refinitiv Real-Time can send updates for Page-based data as "partial update" which is an intra-field positioning sequence within the data field so that the minimum number of characters are transmitted to effect a change.
However, this LP62009689 seems to be the Quote RIC that the application should update an entire field data from the Update message as usual.
How often the problem occurs in your environment? Can you replicate the issue on demand? If so, could you enable the RFA trace file and share the file when the issue occur?
You can configure the following RFA Java configurations to enable the XML log file
<namespace>/Connections/<Connection Name>/ipcTraceFlags = 23
<namespace>/Connections/<Connection Name>/mountTrace = True
<namespace>/Connections/<Connection Name>/logFileName=<path to log file>### Example RFA Java Configurations for the trace file ###
<node name="rsslConnection">
<map>
<entry key="connectionType" value="RSSL"/>
<entry key="serverList" value="localhost"/>
<entry key="portNumber" value="14002"/>
<entry key="ipcTraceFlags" value="23"/>
<entry key="mountTrace" value="True"/>
<entry key="logFileName" value=".\logs\RSSL_%U.log"/>
</map>
</node>Additionally, could you please give me the versions of RFA Java and Java SDK that you are using?
0 -
Hello @CM Wong
Sorry for the late reply, I have checked the trace file at 2020-12-02 13:20:10 (<date>2020-12-02T13:20:10</date>). The only RMTES string field that was updated is FID 1667 (field GN_TX20_3)
GN_TX20_3 "GN TXT20 3" 1667 NULL ALPHANUMERIC 20 RMTES_STRING 20
Could you please confirm if you encounter the problem with this FID?
0 -
Hello @wasin.w
Thanks for your update.
If you compare the captured FID raw data with those returned from the JRFA (in my original question), they are very similar:
(1) Horizontal offset -1, Data 0xEF 0xBE 0x86 0xEF 0xBD 0xAF 0xEF 0xBD 0xBE 0xEF 0xBD 0xB2 0x20 0xE5 0xA4 0x96 0xE5
(2) Horizontal offset 0, Data 0x20 0xE8 0xB3 0xBC 0xE5 0x85 0xA5FIELD_ENTRY 220: efbe86efbdafefbdbeefbdb220e5a496e59bbde6a0aa49647820e8b3bce585a5
But somehow JRFA divides them into 2 parts and returns them as partial updates.
My program has no problem processing other partial update fields except this one.
I will try JRFA 8.2 and see if there is any improvement.
Regards,
CM
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 690 Datastream
- 1.4K DSS
- 629 Eikon COM
- 5.2K Eikon Data APIs
- 11 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 255 ETA
- 559 WebSocket API
- 39 FX Venues
- 15 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 25 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 279 Open PermID
- 45 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 23 RDMS
- 2K Refinitiv Data Platform
- 716 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 106 UPA
- 194 TREP Infrastructure
- 229 TRKD
- 918 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 95 Workspace SDK
- 11 Element Framework
- 5 Grid
- 19 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛