How to identify which update is for which RIC ?

Hi Dear developer:
1, Client is asking 2 RICs update as
CommandLine.addOption("itemName", "XAU9999=SGEX,XAU=", "List of items to open separated by ','.");
2, and he get below response, but in the next update the name of the RIC is not included in the response MESSAGE, under this condition he is asking how to identify the response is for which RIC ?
MESSAGE
Msg Type: MsgType.REFRESH_RESP
Msg Model Type: MARKET_PRICE
Indication Flags: REFRESH_COMPLETE | CLEAR_CACHE
Hint Flags: HAS_ATTRIB_INFO | HAS_ITEM_GROUP | HAS_PERMISSION_DATA | HAS_QOS | HAS_RESP_TYPE_NUM | HAS_SEQ_NUM | HAS_STATE
2018-01-24 10:31:35.926
State: OPEN, OK, NONE, "All is well"
Qos: (RT, JIT Filt.)
Group: 00030101569fb373
PermissionData: 0301016265c0 ( 0x03,0x01,0x01,0x62,0x65,0xc0 )
SeqNum: 46016
RespTypeNum: 0 (RespType.SOLICITED)
AttribInfo
ServiceName: ELEKTRON_DD
ServiceId: 257
Name: XAU9999=SGEX
NameType: 1 (RIC)
Payload: 1471 bytes
FIELD_LIST
FIELD_ENTRY 1/PROD_PERM: 6265
FIELD_ENTRY 2/RDNDISPLAY: 120
FIELD_ENTRY 3/DSPLY_NAME: 2018-01-24 10:31:35.928
profiles: default
GOLD AU9999
FIELD_ENTRY 4/RDN_EXCHID: (0)
FIELD_ENTRY 5/TIMACT:
FIELD_ENTRY 6/TRDPRC_1: 277.45
FIELD_ENTRY 7/TRDPRC_2: 277.50
FIELD_ENTRY 8/TRDPRC_3: 277.49
FIELD_ENTRY 9/TRDPRC_4: 277.50
FIELD_ENTRY 10/TRDPRC_5: 277.45
FIELD_ENTRY 11/NETCHNG_1: 0.31
FIELD_ENTRY 12/HIGH_1: 277.59
FIELD_ENTRY 13/LOW_1: 276.65
3: Next Response without RIC name:
MESSAGE
Msg Type: MsgType.UPDATE_RESP
Msg Model Type: MARKET_PRICE
Indication Flags:
Hint Flags: HAS_RESP_TYPE_NUM | HAS_SEQ_NUM
SeqNum: 4336
RespTypeNum: 0 (UNSPECIFIED)
Payload: 73 bytes
FIELD_LIST
FIELD_ENTRY 22/BID: 277.81
FIELD_ENTRY 30/BIDSIZE: 4
FIELD_ENTRY 436/BEST_BID1: 277.81
FIELD_ENTRY 437/BEST_BID2: 277.80
FIELD_ENTRY 438/BEST_BID3: 277.79
FIELD_ENTRY 439/BEST_BID4: 277.75
FIELD_ENTRY 440/BEST_BID5: 277.70
FIELD_ENTRY 730/BEST_BSIZ1: 4
FIELD_ENTRY 731/BEST_BSIZ2: 1653
FIELD_ENTRY 732/BEST_BSIZ3: 300
FIELD_ENTRY 733/BEST_BSIZ4: 1500
FIELD_ENTRY 734/BEST_BSIZ5: 500
BRs
Jessie
Best Answer
-
Hello @jessie.lin
An update can be identified is for which RIC in OMMAttribInfo.Name component of an update message. This component requires OMMMsg.Indication.ATTRIB_INFO_IN_UPDATES is set on the request as described in Table 45: MarketPrice Update Message of RDM USAGE GUIDE - JAVA EDITION(RFAJ_RDMUsageGuide.pdf) shown below:
The example source code to set OMMMsg.Indication.ATTRIB_INFO_IN_UPDATES in an item request:
//set ATTRIB_INFO_IN_UPDATES IndicationFlags to receive RIC in AttribInfo of update message
ommmsg.setIndicationFlags(OMMMsg.Indication.REFRESH | OMMMsg.Indication.ATTRIB_INFO_IN_UPDATES);
//Set RIC
ommmsg.setAttribInfo(serviceName, itemName, RDMInstrument.NameType.RIC);
// Set the message into interest spec
ommItemIntSpec.setMsg(ommmsg);
//make subscription for the RIc
Handle itemHandle = _mainApp.getOMMConsumer().registerClient(_mainApp.getEventQueue(),ommItemIntSpec, _marketPrice, null);An example update message including the RIC name:
Msg Type: MsgType.UPDATE_RESP
Msg Model Type: MARKET_PRICE
Indication Flags: DO_NOT_CONFLATE
Hint Flags: HAS_ATTRIB_INFO | HAS_RESP_TYPE_NUM | HAS_SEQ_NUM
SeqNum: 19486
RespTypeNum: 0 (UNSPECIFIED)
AttribInfo
ServiceName: API_ELEKTRON_EPD_RSSL
ServiceId: 4511
Name: XAU=
NameType: 1 (RIC)
Payload: 149 bytes
FIELD_LIST
FIELD_ENTRY 3/DSPLY_NAME: LMAX LON
FIELD_ENTRY 5/TIMACT: 06:59
FIELD_ENTRY 11/NETCHNG_1: 2.4100
FIELD_ENTRY 17/ACTIV_DATE: 24 JAN 2018
FIELD_ENTRY 22/BID: 1343.4200
FIELD_ENTRY 23/BID_1: 1343.0600
FIELD_ENTRY 25/ASK: 1343.58000
Answers
-
Hi @jessie.lin
The most common practice is to pass the item name or RIC as enclosure object when calling the registerClient() method. For instance, we can modify the sendRequest() method in ItemManager.java file of the StarterConsumer example:
.
.
.
System.out.println(_className + ": Subscribing to " + itemName);
.
.
.
Handle itemHandle = _mainApp.getOMMConsumer().registerClient(_mainApp.getEventQueue(), ommItemIntSpec, this, itemName);In the processEvent() method of the same itemManager.java file, simple call event.getClosure():
.
.
.
OMMItemEvent ie = (OMMItemEvent)event;
OMMMsg respMsg = ie.getMsg();
String itemName = (String) event.getClosure();
System.out.println("Item Name:" + itemName);
GenericOMMParser.parse(respMsg);0 -
Hello @jessie.lin
To get the RIC name in the AttribInfo of an update message, you can use:
OMMMsg.getAttribInfo().getName()
For example:
OMMItemEvent ie = (OMMItemEvent)event;
OMMMsg respMsg = ie.getMsg();
System.out.println("This is update of a ric named " + respMsg.getAttribInfo().getName());
//print dataAn example output:
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 687 Datastream
- 1.4K DSS
- 622 Eikon COM
- 5.2K Eikon Data APIs
- 11 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 255 ETA
- 557 WebSocket API
- 38 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 276 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 680 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 105 UPA
- 194 TREP Infrastructure
- 229 TRKD
- 918 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 91 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛