question

Upvotes
Accepted
9 4 5 6

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 512.0 KiB each and 1.0 MiB total.

@Xueying

Thank you for your participation in the forum. Are any of the replies below satisfactory in resolving your query? If yes please click the 'Accept' text next to the reply that best answers your question. This will guide all community members who have a similar question. Otherwise please post again offering further insight into your question.

Thanks,

-AHS

@Xueying

Hi,

Please let us know if you have any updates on this question.

If it is still an issue, please post again to offer further insight into your question.

Regards,

AHS

@Xueying

Hi,

Please be informed that a reply has been verified as correct in answering the question, and marked as such.

Thanks,

AHS

Upvotes
Accepted
25.3k 87 12 25

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 512.0 KiB each and 1.0 MiB total.

Hi @Xueying

If you are unable to identify the issue with your Linux environment, please provide details of the RT-SDK version, your Linux OS details, along with your C++ development tools details and I can try and ask our Dev team if they can shed any light on this issue.


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
25.3k 87 12 25

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 512.0 KiB each and 1.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
25.3k 87 12 25

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 512.0 KiB each and 1.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
25.3k 87 12 25

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 512.0 KiB each and 1.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
25.3k 87 12 25

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 512.0 KiB each and 1.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
79.1k 250 52 74

@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 512.0 KiB each and 1.0 MiB total.

Hi,

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

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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