question

Upvotes
Accepted
1 1 1 1

BID_1 ASK_1 fields not updating via Enterprise Message API (EMA) Java Edition

We have a problem with Refinitiv Enterprise Message API (EMA) Java Edition (Implementation-Version: emaj3.6.1.L1.all.rrg).

We are requesting 'BID', 'BID_1', 'BID_2', 'ASK', 'ASK_1' and 'ASK_2' fields from IDN_SELECTFEED source with DACS user XYZ.

The first refresh message brings all requested fields (as expected) but following update messages comes only with BID and ASK values.

Old API (JSFC 3.5) is working differently, we always receive all fields updates including 'BID_1', 'BID_2', 'ASK_1' and 'ASK_2' fields. There we request data with DACS user YZX.

For example: RIC 'EUR='

OmmArray array = EmaFactory.createOmmArray();

array.add(EmaFactory.createOmmArrayEntry().intValue(22));

array.add(EmaFactory.createOmmArrayEntry().intValue(23));

array.add(EmaFactory.createOmmArrayEntry().intValue(24));

array.add(EmaFactory.createOmmArrayEntry().intValue(25));

array.add(EmaFactory.createOmmArrayEntry().intValue(26));

array.add(EmaFactory.createOmmArrayEntry().intValue(27));

ElementList view = EmaFactory.createElementList();

view.add(EmaFactory.createElementEntry().uintValue(EmaRdm.ENAME_VIEW_TYPE, EmaRdm.VT_FIELD_ID_LIST));

view.add(EmaFactory.createElementEntry().array(EmaRdm.ENAME_VIEW_DATA, array));

EmaFactory.createReqMsg().serviceName("IDN_SELECTFEED").name("EUR=").payload(view)

12:08:07 DEBUG InstrumentImpl - RefreshMsg

streamId="5"

domain="MarketPrice Domain"

solicited

RefreshComplete

state="Open / Ok / None / 'EaaS*All is well'"

itemGroup="00 51"

permissionData="03 00 17 52 6c"

name="EUR="

nameType="1"

serviceId="23"

serviceName="IDN_SELECTFEED"

Payload dataType="FieldList"

FieldList FieldListNum="0" DictionaryId="1"

FieldEntry fid="22" name="BID" dataType="Real" value="1.184"

FieldEntry fid="23" name="BID_1" dataType="Real" value="1.1842"

FieldEntry fid="24" name="BID_2" dataType="Real" value="1.184"

FieldEntry fid="25" name="ASK" dataType="Real" value="1.1843"

FieldEntry fid="26" name="ASK_1" dataType="Real" value="1.1843"

FieldEntry fid="27" name="ASK_2" dataType="Real" value="1.1844"

FieldListEnd

PayloadEnd

12:08:07 DEBUG InstrumentImpl - UpdateMsg

streamId="5"

domain="MarketPrice Domain"

updateTypeNum="0"

name="EUR="

serviceId="23"

serviceName="IDN_SELECTFEED"

Payload dataType="FieldList"

FieldList FieldListNum="0" DictionaryId="1"

FieldEntry fid="22" name="BID" dataType="Real" value="1.184"

FieldEntry fid="25" name="ASK" dataType="Real" value="1.1844"

FieldListEnd

PayloadEnd

UpdateMsgEnd

All following UpdateMsg come for BID and ASK only, but _1 and_2 remain stale.

Question: Why don’t we receive updates for 'BID_1', 'BID_2', 'ASK_1' and 'ASK_2' fields in new API?

trep
icon clock
10 |1500

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

1 Answer

Upvote
Accepted
20.3k 73 10 20

Hi @erki.joekalda

EMA does not Ripple the fields i.e. copying BID into BID_1 etc.

The EMA does NOT ripple fields on behalf of the consumer application. The OMM FieldList concept supports rippling. However, the FieldList class does not cache, so it cannot ripple fields.

It is the responsibility of the Consumer application to ripple the Fields.

Please see example series200\ex240_MP_RippleFields which demonstrates this technique.


icon clock
10 |1500

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

Click below to post an Idea Post Idea