Como retornar NULL caso o valor do campo seja = 100?

Preciso de ajuda no IReport, tenho essa condição aqui:

$F{TOTAL}.multiply($F{TOTALMETA}) 

e preciso que retorne NULL quando o valor do campo $F{TOTALMETA} for = 100.

Tem como fazer isso?

Cara, primeiro que isso não deveria ser tratado no relatório, mas, enfim.
O iReport trabalha com operadores ternários, logo:

$F{TOTALMETA} == 100 ? "NULL" : $F{TOTALMETA}

Deve ser algo assim

Bom dia, retorna esse erro:

Errors were encountered when compiling report expressions class file:

  1. Incompatible operand types BigDecimal and int
    value = (java.lang.String)(((java.math.BigDecimal)field_TOTALMETA.getValue()) == 100 ? “NULL” : ((java.math.BigDecimal)field_TOTALMETA.getValue())); //$JR_EXPR_ID=30$

  2. Incompatible operand types BigDecimal and int
    value = (java.lang.String)(((java.math.BigDecimal)field_TOTALMETA.getOldValue()) == 100 ? “NULL” : ((java.math.BigDecimal)field_TOTALMETA.getOldValue())); //$JR_EXPR_ID=30$

  3. Incompatible operand types BigDecimal and int
    value = (java.lang.String)(((java.math.BigDecimal)field_TOTALMETA.getValue()) == 100 ? “NULL” : ((java.math.BigDecimal)field_TOTALMETA.getValue())); //$JR_EXPR_ID=30$

3 errors

Código: CORE_E02510

E porque não retornar 0 (zero)?

A sua expressão deve ter apenas um tipo de retorno (ou String ou numérico) e ali você está indicando dois tipos. Ou retorna "NULL" (é considerado como String por estar dentro de aspas) ou retorna um valor numérico qualquer. Por isso, o erro está acontecendo.

Cara, você vai precisar fazer o cast explícito e, a partir disso, vai precisar invocar o método intValue da variável, que é BigDecimal

Pode ser 0 tbm, não tem problema.

Resolvi de outra forma rapaziada. Obrigado pela ajuda…

Como resolveu?

Coloque a solução que você encontrou, para que outros possam encontrar também.