How to set real FIDs to blank using Java EMA?

I'm looking for an example on setting a field to blank using the EMA API


Current Java EMA code to set FIDs with no logic to set real FIDs to blank

{


...


FieldList nestedFieldList = EmaFactory.createFieldList();


nestedFieldList.add(createOmmRealField(22, priceInfo.getBidPrice()));


...


}

public static FieldEntry createOmmRealField(int fieldId, BigDecimal value) {

BigDecimal valueStripped = value;//value.stripTrailingZeros();

// magnitude constants for scale exists up to -7

if(valueStripped.scale() < -7) {

valueStripped = valueStripped.setScale(-7);

}

// we translate scale to Magnitude type constant

int magnitude = OmmReal.MagnitudeType.EXPONENT_0 - valueStripped.scale();

long mantissa = valueStripped.unscaledValue().longValueExact();

return EmaFactory.createFieldEntry().real(fieldId, mantissa, magnitude);

}


ETA version of setting blank:


// ASK

fieldEntry.clear();

dictionaryEntry = dictionary.entry(MarketPriceItem.ASK_FID);

if (dictionaryEntry != null) {

fieldEntry.fieldId(MarketPriceItem.ASK_FID);

fieldEntry.dataType(dictionaryEntry.rwfType());

tempReal.clear();


// Set blank for empty book and wipes

if(mpItem.ASK == -0.0) {

tempReal.blank();

}

else {

tempReal.value(mpItem.ASK, RealHints.EXPONENT_4);

}


ret = fieldEntry.encode(encodeIter, tempReal);

if (ret < CodecReturnCodes.SUCCESS) {

return ret;

}

}

Welcome!

It looks like you're new here. Sign in or register to get started.

Best Answer

  • umer.nalla
    umer.nalla LSEG
    Answer ✓

    Hi @Paul.Wuethrich2

    Have you tried the following:

    EmaFactory.createFieldEntry().codeReal( <fieldID> )


    If you refer to the EMA Java documentation for FieldEntry you will note a set of methods such as codeReal, codeInt, codeFloat for adding a blank data code to a field entry



Answers

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.