The infrastructure contain enumdef like this:
! VALUE DISPLAY MEANING
! ----- ------- -------
0 " " Not Set
1 "1 " 1 to 1.99%
2 "2 " 2 to 2.99%
3 "3 " 3 to 3.99%
In my java code, the following will only return "1", for 1, "2" for 2. I don't see a method that will return the MEANING column, i.e., "1 to 1.99%", "2 to 2.99%":
if (fieldData.getType() == OMMTypes.ENUM)
priceVariation = dictionary.expandedValueFor(fe.getFieldId(), ((OMMEnum)fieldData).getValue());
Are you requesting a 'Verbose' Dictionary in your code when making the dictionary request?
If you refer to the RDM Usage Guide pdf file which is included with the RFA Java SDK, you will note that the MEANING column is only included in the Enumtype dictionary response when the OMMAttribInfo.Filter is set to RDMDictionary.Filter.VERBOSE=0xF (Provides all information(including comments)
See Section 5.6 Enumerated Types Dictionary, table 39 for examples of the different levels of Verbosity.
I would recommend you enable the low-level IPC Trace in your application to confirm if the server is actually sending the Meaning field down or not. This will help confirm if there is an issue with your code or the feed not providing the required data.
Also, are you consuming data from an internal ADS or via an LPC connection to our cloud service?
Note that by default RFA traceMsgDomains value of NORMAL does not include Dictionary, so you should use either ALL or DICTIONARY
I tried recreating this here myself and I do not see the Meaning entries in my RSSL trace file.
I did also note that in the above RDM Usage guide table 39, it does state for the MEANING column, that:'Providers do not need to provide this array(even when verbosity is VERBOSE).'
I have reached out internally to see if I can confirm if this is something that needs to be explicitly enabled on the ADS.