El foro de caduceus.es ha sido migrado a meditecs.com. Descubre más sobre el cambio en este post.
🇬🇧 English speaker? Go to Meditecs forums in English!
Hola estimados amigos
Espero puedan ayudarme con este tema:
En el destination coloque un step type javascript recorro un array que luego tengo que enviar a una base de datos sql server, para recorrer el array utilizo un bucle (Lo he hecho con while, for, for each).
si corro el arreglo en un ambiente como netbeans el imprime todo el arreglo, pero cuando pongo el codigo de javascript me llega es el ultimo resultado, he tratado de inicializar la variable resultado como un array ... pero nada me sigue llegando el ultimo resultado del arreglo (array),
esto es mas o menos lo que he hecho y de varias formas tambien pero siempre me llega es el ultimo resultado
for (var i = 0; i < mapping.length; i++) {
mapping = JSON.stringify(d[i]);
}
} catch (e) {
logger.error(e);
mapping = '';
}
channelMap.put('resultado', mapping);
De antemano muchas gracias si me pueden ayudar
Hola Johansanchez,
por lo que dices entiendo que esperas que en otro "destination" se graben todos los elementos del array, si es asi lo estas estructurando mal, ya que desde un destination no puedes generar "n" destinations. Ha estas alturas lo mejor que puedes hacer es abrir la conexion a la base de datos antes del for y cerrarla al salir del for. Dentro del for haces el executeUpdate para grabar los datos en la tabla y problema solucionado.
Por ultimo y a grandes rasgos, todo lo que quieras que se ejecute en las "destinations" se debe generar en el "source", a menos de que puedas enrutar a un segundo canal, pero eso ya es otra batalla muy diferente.
RB
Hola Ricber
De antemano gracias por tu respuesta... hice un cambio en el código y al parecer funciono, estaba iterando sobre la variable mapping.length y la verdad tenia que iterar sobre la variable d que es la que contenía el array tambien en el recorrido le quite JSON.stringify que al parecer no era necesario, la base de datos lo ha recibido sin problemas.. de antemano muchísimas gracias por tu tiempo
for (var i = 0; i < d.length; i++) {
mapping = (d[i]);
}
} catch (e) {
logger.error(e);
mapping = '';
}
channelMap.put('resultado', mapping);
