UPA Java API - RDMFieldDictionary & enumtype.def discrepancy
Using the UPA Java API we're getting the following error on a dictionary response message in one of our TREP environments (i.e. works fine in one but not the other):
Event: Acronym mismatch "RDN_EXCHID" and "CURRENCY" between Field Dictionary and Enum Type Dictionary
The assumption is that we have a mismatch in one of these files but not sure where the discrepancy lies as the output from both files in both environments is the same:
grep CURRENCY *
enumtype.def:
CURRENCY 15
RDMFieldDictionary:
! Additional currency fields with identical enumerations to the original CURRENCY
RDMFieldDictionary:BID_CURRCY "BID CURRENCY" 2379 NULL ENUMERATED 5 ( 3 ) ENUM 2
...
grep RDN_EXCHID *
enumtype.def:
RDN_EXCHID 4
RDMFieldDictionary:
RDN_EXCHID "IDN EXCHANGE ID" 4 NULL ENUMERATED 3 ( 3 ) ENUM 1
We are able to ignore the status code error returned from the dictionary response but are still trying to understand the source of the error
Best Answer
-
I can reproduce the problem by changing ACRONYM of FID 4 in enumtype.def from :
! ACRONYM FID
! ------- ---
!
RDN_EXCHID 4To be:
! ACRONYM FID
! ------- ---
!
CURRENCY 4When run Consumer UPA Java example to load the dictionary files, it shows the same error:
Text: Acronym mismatch "RDN_EXCHID" and "CURRENCY" between Field Dictionary and Enum Type Dictionary
This seems to be dictionary problem(improper dictionary) that that ACRONYM of the same FID(4) in RDMFieldDictionary and enumtype.def differs.
RDMFieldDictionary ACRONYM of FID 4 is RDN_EXCHID:
RDN_EXCHID "IDN EXCHANGE ID" 4 NULL ENUMERATED 3 ( 3 ) ENUM 1
but enumtype.def ACRONYM in the same FID is CURRENCY:
CURRENCY 4
If you face the problem again, please inform the admin of the server that your application loads dictionary that the dictionary is improper and it should be corrected e.g. update dictionary to the latest version.
Anyway, if you do not face the problem anymore. It is possible that the dictionary on the server has been corrected already.
0
Answers
-
Hi Paul,
Can you provide copies of your dictionary files for each platform? Your grep output suggests that the CURRENCY field wasn't in the RDMFieldDictionary, and unless it's been modified I would normally expect it to be there.
Are there other applications that can successfully download the dictionary from the TREP where the problem occurs?
0 -
Thanks Jim
I accidentally deleted that from the grep output but have attached the files from environment that is having an issue which happens to be production. The application in question does have other client apps but believe this is the only UPA Java client app. rdmfielddictionary.zip
0 -
Hi, Paul,
I have run UPAJ example application to test with your attached
dictionary files. The problem has not occurred. Are these dictionary files that you faced the
problem? What are RICs that the problem occurred with? This info will help me
to reproduce the problem. I suspect that the problem occurred when the
application received data containing the fields and tried to parse them.0 -
Thanks - these are the files and the error only occurs upon querying the return status of the dictionary request so no RIC processing:
dictionaryHandler.serviceId(srcDirHandler.serviceInfo().serviceId());
if (dictionaryHandler.sendRequests(chnl, error) != CodecReturnCodes.SUCCESS)
UPAUtils.log("Dictionary send request failed after failed file load");
closeChannel();
}
else {
UPAUtils.log("Dictionary send request successful after failing to load files");
}
0 -
The dictionary files worked for me as well, both via loading them from file and downloading them from an ADS.
Do you possibly have an RDMFieldDictionary and/or enumtype.def file present locally to your UPAJ application (maybe it's also attempting to load one or both of those )?
Does the application try to connect elsewhere first, or is it first connecting to the system that produces the problem?
0 -
Hi Paul,
I have tested your given source code with your dictionary. It can load the dictionary from ADS successfully.
0 -
Hi Paul,
I have reviewed your dictionary files. In enumtype.def, there are enum type for "RDN_EXCHID" and "CURRENCY". In RDMFieldDictionary, both fields are defined. Hence, it seems that your dictionary files are in the correct format.
0 -
@Paul.Wuethrich2
Can the problem be replicated with Consumer example in UPA Java package?
If yes, please run it with -x parameter to enable tracing and provide us with the full output when the problem occurred.
0 -
Hi Pimchaya,
The error text in the original post can be returned by any of the DataDictionary methods loadFieldDictionary, loadEnumTypeDictionary, or decodeFieldDictionary (decodeEnumTypeDictionary wouldn't produce this since encoded Enum dictionaries don't include acronyms).
0
Categories
- All Categories
- 6 AHS
- 37 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
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛