This is Elektron SDK Java bug in RmtesBuffer.apply(..) method. The bug has been fixed in version 1.1.0. The fixed package can be downloaded at Downloads page of Elektron SDK Java
Hi,
Have you checked out the example 310 MarketPriceRmtes?
C+ folder: Ema\Examples\Training\Consumer\300_Series_Examples\310__MarketPrice__Rmtes?
Java folder:
Ema\Src\examples\java\com\thomsonreuters\ema\examples\training\consumer\series300\example310__MarketPrice__Rmtes
It extracts a RMTES_STRING type field and applies it to a RmtesBuffer.
Hope that helps.
Hello @arnaud.mazzucco
EMA Java provides example310__MarketPrice__Rmtes applicationlocated in <Elektron SDK Java pakckage>\Ema\Src\examples\java\com\thomsonreuters\ema\examples\training\consumer\series300\example310__MarketPrice__Rmtes.The application showcases processing of RWF RMTES_STRING data type by using RmtesBufferinterface.
The example of the application's output:
Received Update. Item Handle: 1 Closure: 0Item Name: N2_UBMSService Name: API_ELEKTRON_EPD_RSSLFid: 264 Name = BCAST_TEXT DataType: Rmtes Value: 株式会社エスプール: 平成29年11月期 第1四半期決算短信〔日本基準〕(連結) (Completed): <2471.T>Received Update. Item Handle: 1 Closure: 0Item Name: N2_UBMSService Name: API_ELEKTRON_EPD_RSSLFid: 264 Name = BCAST_TEXT DataType: Rmtes Value: DJ Eurex Interest Rates Futures Hourly Price Update
For more details of RmtesBuffer interface, please refer to <Elektron SDK Javapakckage>\Ema\Docs\refman\emajava\com\thomsonreuters\ema\access\RmtesBuffer.html
For instance I am trying to use rmtes buffer for ric : 66380bk.HKd on ELEKTRON_DD :This is what I receive from the refreshMsg :
fid="316"name="ROW80_2"dataType="Rmtes"value=" BID ASK fid="317"name="ROW80_3"dataType="Rmtes"value=" 9705 -5s | 9705 fid="318"name="ROW80_4"dataType="Rmtes"value=" -1s 9053 | +1s fid="319"name="ROW80_5"dataType="Rmtes"value=" 9705 9705 | 9705 fid="320"name="ROW80_6"dataType="Rmtes"value=" 2310 | +2s fid="321"name="ROW80_7"dataType="Rmtes"value=" -2s | fid="322"name="ROW80_8"dataType="Rmtes"value=" | +3s fid="323"name="ROW80_9"dataType="Rmtes"value=" -3s | fid="324"name="ROW80_10"dataType="Rmtes"value="" | +4s fid="325"name="ROW80_11"dataType="Rmtes"value="" -4s | 9705 fid="326"name="ROW80_12"dataType="Rmtes"value="" 8130 |
But the updateMsg is like this :
fid="319" name="ROW80_5" dataType="Rmtes" value="69705"
It means that I don't receive a filed update, just a few characters => I can't rebuild the field and check what has been updated.
Do you have a solution for this Kind of issue ? The buffer does not work for that, ot the usage you show in the example does not address my issue.
Thansk a lot
Hi @arnaud.mazzucco
So, just to be clear - are you maintaining a unique instance of RmtesBuffer for each Field (for each RIC if consuming multiple RICs) and then using apply() method to update the corresponding instance of the RmtesBuffer as and when an update arrives for that particular field (for that RIC)?
And once you apply() the update, you then extract the string from the RmtesBuffer to get the full field for display purposes?
Yes, exactly!
Please see my response in the email.
Hello Umer,
I modified example120__MarketPrice__FieldListWalk as the attached file and tested with 2899bk.HKd
class AppClient implements OmmConsumerClient{ TreeMap <Integer, RmtesBuffer> rmtesMap = new TreeMap <Integer, RmtesBuffer>(); …
void decode(FieldList fieldList) { Iterator<FieldEntry> iter = fieldList.iterator(); FieldEntry fieldEntry; while (iter.hasNext()) { fieldEntry = iter.next(); if(fieldEntry.loadType()==DataTypes.RMTES & fieldEntry.code()!=Data.DataCode.BLANK) { if(!rmtesMap.containsKey(fieldEntry.fieldId())) { rmtesMap.put(fieldEntry.fieldId(), EmaFactory.createRmtesBuffer()); } rmtesMap.get(fieldEntry.fieldId()).apply(fieldEntry.rmtes()); } }
//prints all RMTES fields(the field id with its value) in the map on the console to display the page for (Integer fieldId: rmtesMap.keySet()){ System.out.print(fieldId+":"); System.out.println(rmtesMap.get(fieldId).toString()); }
I understand my colleague has been in contact with you directly.
Just to confirm that this appears to be an issue with EMA Java and a fix request has been raised.
Regards,Umer