DSPLY_NAME field issue

Pulaputra.Sudheer
edited February 3 in RFA

On the "REFRESH_RESP" item event, we can see there is the field "DSPLY_NAME" representing the Currency Pair in the response.

image-b7b0038cee361-d402.png

But on the subsequence "UPDATE_RESP" there was no "DSPLY_NAME" field anymore, only the rates and the dates.

image-9b9b6f8f2230b-ea5c.png

How do we know if this "UPDATE_RESP" is for which item? How do we identify it?

I also have a question: What's the equivalent of "com.reuters.rfa.session.event.MarketDataItemStatus" in OMM?

Best Answer

  • Pulaputra.Sudheer
    Answer ✓

    Hi Gurpreet… there is one more question at the end of my previous message, pasted below as well.. please help on that.

    "What's the equivalent of "com.reuters.rfa.session.event.MarketDataItemStatus" in OMM?"

Answers

  • Hello @Pulaputra.Sudheer

    The item name is included in the encapsulated message and not in the fields which are updated. There are multiple means of identifying the instrument in RFA API callback method.

    1. Assign a unique closure object to each subscribed item. The closure could be a string with the item name or any other identifier. This closure is available in the event callback for that particular subscribed item.

    2. Get the item handle when subscribing. This item handle is subsequently available in the process event callback:

    Handle itemHandle = _ommConsumer.registerClient(_eventQueue, connIntSpec, callbackClient, null);
    
    

    and in the callback method:

    public void processEvent(Event event) {  
       Handle itemHandle = event.getHandle();
       …
    

    3. Request Attribute information in the update messages -

    ommmsg.setIndicationFlags(OMMMsg.Indication.REFRESH | OMMMsg.Indication.ATTRIB_INFO_IN_UPDATES);
    

    and the update messages will now contain the item name in the response:

    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: 70945
        RespTypeNum: 0 (UNSPECIFIED)
        AttribInfo
            ServiceName: ELEKTRON_DD
            ServiceId: 10002
            Name: CAD=
            NameType: 1 (RIC)
        Payload: 13 bytes
            FIELD_LIST
                FIELD_ENTRY 114/BID_NET_CH: -0.0003
                FIELD_ENTRY 372/IRGPRC: -0.02
    
    
  • Jirapongse
    Jirapongse ✭✭✭✭✭

    It should be equivalent to OMMState in the OMMMsg.

        static final void parseMsg(OMMMsg msg, PrintStream ps, int tabLevel)
    {


    if (msg.has(OMMMsg.HAS_STATE))
    {
    dumpIndent(ps, tabLevel + 1);
    ps.println("State: " + msg.getState());
    }