Hola amallick ,
- Como sunny.kapoor2 mencionó, la declaración de counter_var debería estar fuera. Y
- La condición 'if' también debería verificar la condición de cadena vacía. - if(value == null || value == "")
- También es mejor usar una condición adicional value.isNumber() == true y manejar el caso antes de convertir la cadena a entero. La condición anidada a continuación es solo un ejemplo. Puedes hacer cambios y optimizar el código según sea necesario.
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
def map = message.getHeaders()
def value = map.get("INCREMENT");
def counter_var;
if(value == null || value == "")
{
counter_var = 0
}
else
{
if(value.isNumber() == false)
{
//hacer que el contador sea cero / generar una excepción personalizada / tomar cualquier otra acción
}
else
counter_var = Integer.parseInt(value)
}
message.setHeader("INCREMENT", counter_var + 1)
return message;
}