question

Upvotes
Accepted
7 2 3 5

What RICs can I subscribe using RT-Optmized(TREP in CLoud) free trial version?

Hi,

I am using RTO free trial to do some test on market data such as data fields and data frequencey. I was able to subscribe RIC /IBM.N, which is from NYSE. However, I could not subscribe to NASDAQ BASIC or consolidated exchange, such as /IBM.NB, /AAPL.O, /AAPL.NB. I also tried GBP=, and it says record not found. Please see my screenshot below.


What RICs could I subscribe to using RTO free trial to test data quality?

Thank you.



trep
1622685064258.png (60.2 KiB)
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.

Upvotes
Accepted
20.3k 73 10 20

Hi @Xueying

I am unable to recreate the above scenario in my virtual Linux environment, I tried the following with the example 113.:

sh-4.2# ./Cons113 -username <> -password <> -clientId <> -itemName /EUR=

loggerMsg
    TimeStamp: 13:16:15.778
    ClientName: ChannelCallbackClient
    Severity: Success
    Text:    Received ChannelUp event on channel Channel_4
        Instance Name Consumer_4_1
        Connected component version: ads3.4.2.L1.linux.tis.rrg 64-bit
loggerMsgEnd

RefreshMsg
    streamId="5"
    domain="MarketPrice Domain"
    Solicited
    RefreshComplete
    ClearCache
    state="Open / Ok / None / ''"
    itemGroup="01 27"
permissionData="03 01 01 36 3C"
    qos="RealTime/JustInTimeConflated"
    seqNum="13038"
    name="/EUR="
    nameType="1"
    serviceId="257"
    serviceName="ELEKTRON_DD"
    Payload dataType="FieldList"
        FieldList FieldListNum="99" DictionaryId="1"
            FieldEntry fid="1" name="PROD_PERM" dataType="UInt" value="363"

I am not a Linux expert, so can only assume this is an environmental issue with your Linux setup?

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.

Hi,

Did you try batch instead of one item?

Hi @Xueying

I also tried a batch request for /EUR= and /GBP= works fine.

Please follow my colleague's advice to enable trace output and attach.

Thanks

Upvotes
20.3k 73 10 20

Hi @Xueying

Your best option is to ask your Refinitiv Account team to confirm which instruments you are licenced for and if they can enable delayed RICs for the exchanges you are interested in.

In the meantime, you can try delayed RICS like '/EUR=', '/GBP=', '/SEK=' so that you can get an idea of how the data Refresh and Updates look like.


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.

Hi,

Thank you for your answer. Refinitiv Account team told me we are licensed for NYSE and FX RICs such as EUR=, CAD=, GBP=. However, I tried /GBP= but it says <Item State: Closed / Suspect / Not found / '**The record could not be found'>.

Do you know why this happened?


Thank you.

1622704375697.png (6.5 KiB)
Upvotes
20.3k 73 10 20

Hi @Xueying

I cannot see any reason why the above RICs would not work - I have just tried a few on an RTO endpoint and they work fine.

Does the console output show which RTO endpoint you are connected to - so I can try against the same one? The endpoint would look something like: emea-2-t3.streaming-pricing-api.refinitiv.com


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.

Hi,

Unfortunately, I did not see anything like that, only a connected component version: ads3.4.2.L1.linux.tis.rrg 64-bit. Is this something to do with they way I add this RIC?

I used C++ SDK and add this RIC through

OmmArray().addAscii(EmaString("/GBP=",6)).

Upvotes
20.3k 73 10 20

Hi @Xueying

Can you please try running the example in Examples\Training\Consumer\300_Series\370_MP_Batch which is provided with the RT-SDK?

or modify your code to something like e.g.

UInt64 handle = consumer.registerClient( ReqMsg().serviceName( "ELEKTRON_DD" )
            .payload( ElementList().addArray( ENAME_BATCH_ITEM_LIST, OmmArray().addAscii( "/GBP=" ).addAscii( "/EUR=" ).complete() ).complete() ), client );


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.

Hi @Xueying

Also, if you are new to EMA C++, I also recommend you work through the 1st 4 Consumer Tutorials to get a good basic understanding.
Tutorials | Refinitiv Developers


Hi,

if I do OmmArray().addAscii( "/GBP=" ).addAscii( "/EUR=" ).complete() ).complete(), there will be an error:

That is the reason why I add a length parameter in EmaString() function, OmmArray().addAscii(EmaString("/GBP=",6)).

Here is my full code.

  AppClient appClient1(kcon_1);
    ConsumerManager consumerMgr1( cfg["consumername"].getString(), cfg["username"].getString(), cfg["password"].getString(), cfg["clientid"].getString(),cfg["proxy_host"].getString(),cfg["proxy_port"].getString() );
    consumerMgr1.getOmmConsumer().registerClient( ReqMsg().serviceName( EmaString(cfg["servicename"].getString().c_str()) ).payload( ElementList().addArray( ENAME_BATCH_ITEM_LIST, OmmArray().addAscii( "/GBP=" ).addAscii( "/EUR=" ).complete() ).complete() ), appClient1, (void *)"consumerMgr1" );
    consumerMgr1.start();
1622709882216.png (23.7 KiB)
Upvotes
20.3k 73 10 20

Hi @Xueying

I have checked the Linux RT-SDK example for Examples\Training\Consumer\300_Series\370_MP_Batch and I don't see the need to specify the length when adding items to the Batch request. However, I will install and configure the latest Linux build later and test it out to confirm.

In the meantime, so that you can make progress, please try registering each RIC individually - rather than using batch request - to see if that will allow you to proceed:

consumer.registerClient( ReqMsg().serviceName( "ELEKTRON_DD" ).name( "/EUR=" ), client );
consumer.registerClient( ReqMsg().serviceName( "ELEKTRON_DD" ).name( "/GBP=" ), client );


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.

Hi,

I registered one RIC "/EUR=" and there is another error.

ommConsumer.registerClient( ReqMsg().serviceName( "ELEKTRON_DD" ).name( "/EUR=" ), appClient1 );


I also tried "/0700.HK", "/EUR", "EUR", they all worked fine even if some of them could not be found. I guess it is "=" that caused the problem.


1622719407833.png (32.9 KiB)
Upvotes
38.1k 71 35 53

@Xueying

You may need to enable RSSL tracing to verify the problem. The tracing can be enabled by adding the following configuration into the consumer configuration.

<XmlTraceToFile value="1"/>

For example, the Cons113 example uses the Consumer_4 so I add the configuration in the Consumer_4 section.

        <Consumer>
            <Name value="Consumer_4"/>
            <ChannelSet value="Channel_4"/>
            <Logger value="Logger_1"/>
            <Dictionary value="Dictionary_2"/>
            <XmlTraceToFile value="1"/>
        </Consumer>

After running the application, the EmaTrace_nnnnnn.xml file will be created in the working directory.

Next, please remove the value of the AuthenticationToken in the Login request message, and then share the file.

<requestMsg domainType="RSSL_DMT_LOGIN" streamId="1" containerType="RSSL_DT_NO_DATA" flags="0x4 (RSSL_RQMF_STREAMING)" dataSize="0">
    <key  flags="0x26 (RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE|RSSL_MKF_HAS_ATTRIB)"  name="" nameType="5" attribContainerType="RSSL_DT_ELEMENT_LIST">
        <attrib>
            <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
                <elementEntry name="AuthenticationToken" dataType="RSSL_DT_ASCII_STRING" data="<removed>"/>
                <elementEntry name="ApplicationId" dataType="RSSL_DT_ASCII_STRING" data="256"/>
                <elementEntry name="ApplicationName" dataType="RSSL_DT_ASCII_STRING" data="ema"/>
                <elementEntry name="Position" dataType="RSSL_DT_ASCII_STRING" data="127.0.0.1/net"/>
            </elementList>
        </attrib>
    </key>
    <dataBody>
    </dataBody>
</requestMsg>


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.

Hi,

Thank you for your help. I will have a try.

Click below to post an Idea Post Idea