Hi Team, client is trying to snap PUTCALLIND field (109 field id) for the RIC S1R955U3 and they are getting “ThomsonReuters.RFA.Common.InvalidUsageException” error or blank state. How can client get PUTCALLIND field value for the RIC?
New posts are disabled while we improve the user experience.
You can browse the site, or for urgent issues, raise a query at MyAccount.
Hi Team, client is trying to snap PUTCALLIND field (109 field id) for the RIC S1R955U3 and they are getting “ThomsonReuters.RFA.Common.InvalidUsageException” error or blank state. How can client get PUTCALLIND field value for the RIC?
Hi @lyka.bulawan,
I can see the field PUTCALLIND (109) in the image response for this ric: S1R955U3, so RFA should be able to extract the field value. The value is an enumeration.
It might be possible that the fieldlist payload is blank or invalid - which can be confirmed by the Refinitiv content team only. For their application you can ask the client to implement a blank check before trying to decode the fieldlist by using FieldList.isBlank() method.
Hi @Gurpreet ,
If PUTCALLIND value is an enumeration, please let us know how to read the enumeration values using RFA. Below is the current code used to read the field values.
foreach (FieldEntry entry in fldValueList)
{
ThomsonReuters.RFA.Common.Data dataEntry = null;
dataEntry = entry.GetData(RDMFidDef.StringToOMMType(new RFA_String(“REAL”)));
}
Hi @lyka.bulawan,
RFA sample code shows how to get data and ignore InvalidUsageException in the StarterConsumer code which ships with the RFA.NET SDK package.
// Decode Payload if ((respMsg.HintMask & RespMsg.HintMaskFlag.Payload) != 0) { ThomsonReuters.RFA.Common.Data payload = respMsg.Payload; if (payload.DataType == DataEnum.FieldList) { FieldList fieldList = payload as FieldList; Console.WriteLine("FieldList's entry count: " + fieldList.StandardDataCount); short fieldId; foreach (FieldEntry fieldEntry in fieldList) { fieldId = fieldEntry.FieldID; try { RDMFidDef fidDef = rdmFieldDictionary.GetFidDef(fieldId); ThomsonReuters.RFA.Common.Data dataEntry = fieldEntry.GetData(fidDef.OMMType); if (dataEntry.DataType == DataEnum.DataBuffer) { DataBuffer dataBuffer = dataEntry as DataBuffer; Console.Write("\tFieldEntry: {0,-10} {1,-8}\t", fidDef.Name, "(" + fieldId + ")"); Console.WriteLine(dataBuffer.GetAsString().ToString()); } } catch (InvalidUsageException) { } } } }