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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
1 0 0 3

How to dump out data dictionary in rmdstestclient

I see that the rmdstestclient has a -ddict argument which I believe in theory dumps out the data dictionary to a file. I'm having trouble getting this argument to work. I tried running the program with -ddict {output_file} but didn't anything getting written out. I also tried running it with -ddict True since it looks like the default argument is "False" but don't see where the data dictionary is getting outputted to. Has anyone ever gotten this to work? What's the right set of arguments that I should be passing in?

elektronrefinitiv-realtimeelektron-sdkrmds-test-client
icon clock
10 |1500

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

1 Answer

Upvotes
Accepted
31.8k 37 11 19

There is no argument to -ddict switch.

For example, this set of switches works for me to capture dictionary from the infra

 .\rmdsTestClient.exe -h MY_ADS -S MY_SERVICE –ct rssl -f curr_items.txt -ddict -m -X -v -of curr_capture.txt

where "curr_items.txt" is my subscription items file and "curr_capture.txt" is my captured output

To go on and to capture subscribed items I use -dfile

  .\rmdsTestClient.exe -h MY_ADS -S MY_SERVICE –ct rssl -f curr_items.txt -ddict -dfile "MY_DICT_PATH\RDMFieldDictionary -m -X -v -of curr_capture.txt
icon clock
10 |1500

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

In your first example, where does the captured dictionary get written out to?

The dictionary is written to curr_capture.txt. It is in refresh messages of RSSL_DMT_DICTIONARY domain.

<refreshMsg domainType="RSSL_DMT_DICTIONARY" streamId="3" containerType="RSSL_DT_SERIES" flags="0x168 (RSSL_RFMF_HAS_MSG_KEY|RSSL_RFMF_SOLICITED|RSSL_RFMF_REFRESH_COMPLETE|RSSL_RFMF_CLEAR_CACHE)" groupId="0" dataState="RSSL_DATA_OK" streamState="RSSL_STREAM_OPEN" code="RSSL_SC_NONE" text=""  dataSize="615880">
...

Ah I see. Is there a utility that exists that allows us to convert this data into a form (i.e the same format as the RDMFieldDictionary) that we can pass back into the rmdsTestClient?

Show more comments
Show more comments

In your Elektron sdk download, one can find the dictionaries in EMA\etc and ETA\etc folders

RDMFieldDictionary file is the main (field) dictionary and enumtype.def is the enums dictionary

Got it. Thanks