Why the background loaded dictionaries are not public accessible in EMA
For building efficently applications access to the dictionary is important. E.g. creating fieldlist to reduce message. overhead. I think it is not usefull tho load required dictionaries twice and handle this by usercode.
Best Answer
-
Here are some general directions that the architects and developers of the EMA had in mind while developing the EMA.
A) In general, the dictionaries are accessed only during the decoding of field list, e.g. to expand FID# into type and meaning, plus some more like enums expansions, etc.
Though this is possible to access dictionaries during encoding of field list to verify correctness of the encoding (e.g. data type) this is mostly skipped due to: 1) performance overhead, 2) limited error detection possibility.
C) EMA hides the dictionary from the user's view to simplify the encoding and decoding of field list. Please refer to the RFA and UPA dev guides how much dictionary code is needed to handle decoding of field list. Of course, these approaches have their own advantages too.
D) the hiding of the dictionaries in the EMA makes the encoding and decoding of element list and field list identical.
Hope these general guidelines provide some light on the situation.
Feel free to provide more details about your case so we can provide a better answer for you.
0
Answers
-
Yes, the loaded data dictionary is used internally in EMA. In EMA, you can create a fieldlist by using the following code.
try {
FieldList fieldList;
fieldList.info( 1, 1 )
.addUInt( 1, 64 )
.addReal( 6, 11, OmmReal::ExponentNeg2Enum )
.addDate( 16, 1999, 11, 7 )
.addTime( 18, 02, 03, 04, 005 )
.complete();
} catch ( const OmmException & excp ) {
cout << excp << endl;
}0 -
I use the EMA C++ edition
0 -
Hey,
for better understanding, i need the posibility to translate fieldnames into fieldids, for
1. Creating FieldID-List for view in MarketPrice-Request-Message.
2. Efficiently mapping of incoming messages in consumer, while decoding payload to application side databuffer. Excessively using of fieldlist.decoders-method "forth(EmaString&)" is insuffucient.
0 -
To pull the "tangible" dictionary that you can use, please see the example 332 Dictionary_Streaming
0 -
That's it, what I don't want to do. In this case i can continue using of RFA with more comfort.
0 -
The
New version of Elektron SDK - C++, 1.1.0, has been released. The package is available in this link. This
version implements features which allow you to get access to the
internal EMA dictionary via the thomsonreuters::ema::rdm::DataDictioanry
class.To get internal EMA dictionary, application needs to request "RWFFld" and
"RWFEnum"
without service name and then create a new DataDictioanry instance with
dictionary response's payload. Please see the
"332__Dictionary__Streaming" example.Application can also
extract a DataDictionary object used by FieldList when decoding it via
the DictionaryUtility::dataDictionary() static method.0 -
Hi veerapath,
is was not there a longer time, so was really suprised that my request had got a positive responce.
Thanks!
Reinhold
0
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 60 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛