Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • Elektron /
  • EMA /
avatar image
Question by samer.masaad · Feb 22, 2019 at 08:42 AM · elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-apifieldsbatch

EMA - Batch request with specific fields

For better performance, I'm trying to request specific fields using a batch request. For example, I want to get only the BID and ASK fields from the EUR= and GBP= requests. I'm using this code:

ElementList customView = EmaFactory.createElementList();
OmmArray fields_array = EmaFactory.createOmmArray();
OmmArray batch_array = EmaFactory.createOmmArray();

fields_array.fixedWidth(2);
fields_array.add(EmaFactory.createOmmArrayEntry().intValue(22)); // BID
fields_array.add(EmaFactory.createOmmArrayEntry().intValue(25)); // ASK

batch_array.add(EmaFactory.createOmmArrayEntry().ascii('EUR='));
batch_array.add(EmaFactory.createOmmArrayEntry().ascii('GBP='));

customView.add(EmaFactory.createElementEntry().uintValue(EmaRdm.ENAME_VIEW_TYPE, 1));
customView.add(EmaFactory.createElementEntry().array(EmaRdm.ENAME_VIEW_DATA, fields_array));
customView.add(EmaFactory.createElementEntry().array(EmaRdm.ENAME_BATCH_ITEM_LIST, batch_array));

this.consumer.registerClient(EmaFactory.createReqMsg().serviceName(serviceName).payload(customView), this.appClient);

I'm having this Exception:

Exception Type='OmmInvalidUsageException', Text='Failed to open or modify item request. Reason: ReactorReturnCodes.FAILURE. Error text: Unexpected primitive type in array  <17>'

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

1 Reply

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by umer.nalla · Feb 22, 2019 at 09:39 AM

Hi @samer.masaad

I suspect this could be because you are using single quote rather than double quote for your RIC codes and also the order of adding the arrays to the ElemenList seems to matter.

so, for example the following works for me:

ElementList customView = EmaFactory.createElementList(); 
OmmArray fields_array = EmaFactory.createOmmArray(); 
OmmArray batch_array = EmaFactory.createOmmArray(); 

fields_array.fixedWidth(2); 
fields_array.add(EmaFactory.createOmmArrayEntry().intValue(22)); // BID 
fields_array.add(EmaFactory.createOmmArrayEntry().intValue(25)); // ASK 
batch_array.add(EmaFactory.createOmmArrayEntry().ascii("EUR=")); 
batch_array.add(EmaFactory.createOmmArrayEntry().ascii("GBP=")); 


customView.add(EmaFactory.createElementEntry().array(EmaRdm.ENAME_BATCH_ITEM_LIST, batch_array)); 
customView.add(EmaFactory.createElementEntry().uintValue(EmaRdm.ENAME_VIEW_TYPE, 1)); 
customView.add(EmaFactory.createElementEntry().array(EmaRdm.ENAME_VIEW_DATA, fields_array)); 


On my Java environment your code snippet wont get past compilation due to an invalid character constant error....

Comment

People who like this

0 Show 1 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
samer.masaad · Feb 25, 2019 at 03:47 AM 0
Share

Good morning and thank you for you answer.
Your code actually worked! But not because of the quotes, since I'm using variables here whose values are loaded from somewhere else, not strings with quotes. But the problem appeared to be in the sequence of the last 3 lines. In my code I was setting the uintValue first, then the fields_array, and finally the batch_array. The sequence in your code worked and saved my day. Thank you again.

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
9 People are following this question.

Related Questions

Closing a batch stream in EMA

Missing SETTLE field

I decoded the following data by using the EMAJ consumer, but what does these data names mean?

Can i have multiple batches or a batch contain multiple ItemList of arrays and multiple ViewData array

EMA - How do I use batch reissue and close

  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Electronic Trading
    • Generic FIX
    • Local Bank Node API
    • Trading API
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Intelligent Tagging
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open Calais
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • RDMS
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • Workspace SDK
    • Element Framework
    • Grid
  • World-Check Data File
  • 中文论坛
  • Explore
  • Tags
  • Questions
  • Badges