Tranformer Type Map...
 

Tranformer Type Mapper Array . llega ultimo resultado  

  RSS

(@johansanchez)
Miembro Eminente
Registrado: hace 6 meses
Respuestas: 18
2 julio, 2019 15:30  

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 

This topic was modified hace 5 meses by Pedro M. Torres

Citar
(@ricber)
Miembro Confiable
Registrado: hace 1 año
Respuestas: 29
3 julio, 2019 15:10  

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

 


ResponderCitar
(@johansanchez)
Miembro Eminente
Registrado: hace 6 meses
Respuestas: 18
3 julio, 2019 15:32  

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);

ResponderCitar
Share:
caduceusadminForum