Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • Elektron /

For a deeper look into our Elektron API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

avatar image
Question by mike.ford · Jul 13, 2020 at 10:32 AM · elektronrefinitiv-realtimeelektron-sdkdatasink-driven-source

RSSL_DMT_MARKET_PRICE refresh/upfate message datasize field

In order to test our application we are using sink_driven_source reading generated XML messages based on those captured by rmdstestclient.

Can you advise on whether datasize field is required to be correct and if so how is it calculated? From the data captured I am unable to determine what this size relates to.

e.g.

<!-- rwfMajorVer="14" rwfMinorVer="0" -->
<updateMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="5" containerType="RSSL_DT_FIELD_LIST" flags="0x18 (RSSL_UPMF_HAS_MSG_KEY|RSSL_UPMF_HAS_SEQ_NUM)" updateType="0" seqNum="5470" dataSize="8">
<key flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" serviceId="467" name="EUR=" nameType="1"/>
<dataBody>
<fieldList flags="0x8 (RSSL_FLF_HAS_STANDARD_DATA)">
<fieldEntry fieldId="3293" dataType="RSSL_DT_REAL" data="-0.0062"/>
</fieldList>
</dataBody>
</updateMsg>

datasize = 8 and there are 7 characters in the data

In another message there datasize = 24 whereas there are 16 characters?

Can you advise how to populate the datasize field?

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

4 Replies

  • Sort: 
avatar image
Best Answer
Answer by mike.ford · Jul 16, 2020 at 11:12 AM

Sorry I have the answer from the Real64.h header file

Real64 values have up to 4 bytes of precision with a 63-bit mantissa (the value) and
a 5-bit value (the magnitude type) representing 22 exponent values and 9 fractional values.
Real64 has a range of -2^63*10^7 to (2^63-1)*10^7 with an accuracy of 19 to 20
decimal digits. Fewer bytes may be used if the full precision is not needed.






Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
REFINITIV
Answer by Jirapongse · Jul 14, 2020 at 03:14 AM

@mike.ford

RSSL uses binary to represent the REAL data (RSSL_DT_REAL) so it uses 8 bytes to represent this field list.

<fieldList flags="0x8 (RSSL_FLF_HAS_STANDARD_DATA)">
 <fieldEntry fieldId="3293" dataType="RSSL_DT_REAL" data="-0.0062"/>
</fieldList> 

The binary looks like 08 00 01 0c dd 02 0a c2.

From the binary, 0c dd is fieldId (3292) and 0a c2 represents REAL (-0.0062).

The size of the payload depends on data types of field entries.

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
Answer by mike.ford · Jul 14, 2020 at 05:48 PM

Thanks for quick response.
In running a test and logging to an file the XML data received by out application it looks like the dataSize field is populated by the process sink_driven_src rather than using the value from the XML data file for sink_driven_src.
I was concerned if this value was incorrect in the XML data file then either sink_driven_src or our application would not behave correctly but this doesn't seem to be the case.
As trying to calculate this value for each message qould be difficult we will set this value to 0 in the data XML file (to avoid confusion) for sink_driven_src and verify a reasonable value is populated in the XML received by our applicaition.

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
Answer by mike.ford · Jul 16, 2020 at 10:33 AM

I am struggling to work out how 0ac2 hex represents -0.0062.
Can you explain the data representation of RSSL_DT_REAL (REAL64 in the dictionary) to we can understand the accuracy of the values coming in and therefore when representing them as a string how many significant figures should be printed without loosing accuracy.

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
8 People are following this question.

Related Questions

How to decode ask value from POLONIA= RIC

sink_driven_src : error RSSL_RET_BUFFER_TOO_SMALL when loading XML dictionary

Is there a universal RIC structure to subscribe to L1 and L2 across SEA markets?

I want to retrieve the impacted RICS from the Data Notifications attachments can I access the DN database directly?

Recording Functionality using the RFA API

  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Electronic Trading
    • Generic FIX
    • Local Bank Node API
    • Trading API
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Intelligent Tagging
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open Calais
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • RDMS
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • Workspace SDK
    • Element Framework
    • Grid
  • World-Check Data File
  • 中文论坛
  • Explore
  • Tags
  • Questions
  • Badges