Hola, tengo problemas con la Insc. a Cursadas en Guarani3w. Cambiamos de versión a la 2.7.0y alli comenzo el problema, solo pasa en Guarani3w en gestion los inscribe sin problema.
El error es:
-535
Already in transaction.
This BEGIN WORK statement is redundant; a transaction is already in progress. If this is a program, review its logic to make sure it has not accidentally failed to end the previous transaction.
Si a alguien le paso algo parecido y me puede dar una pista estaré muy agradecida.
Saludos!
Betina
Este error “already in trasanction” lo da Informix, cuando una aplicacion que realizo un “begin work” intenta volver a ejecutar un segundo begin work. El segundo begin work da ese error.
Fijate si hay algo que estas haciendo por segunda vez, o cancelando y volviendo a intentar ? puede ser
yo supongo en algun php debe abrir la transaccion y luegpo no la cierra por que en gestion ese error no ocurre asi que los sp relacionados creerian no son el problema.
Me parece muy extraño. Seguro tienen personalizado algún SP de los involucrados, fijate bien. Y si no, deberás poner un trace en el SP inicial y ver cuales son los SP que se van invocando, a ver donde está el problema. Eso está funcionando sin problema en muchas instalaciones.
Aparte, la versión 2.6.7 no existe … será en todo caso la versión 2.7.0
Betina, ampliando esto te cuento que para esta versión, en el caso de inscripciones a cursadas cuando la inscripción es por gestion (power builder) la transacción la maneja la ventana que realiza la inscripción, con lo cual este ultimo parámetro debe pasarse al procedure con el valor S (significa que ya esta en transacción)
En la inscripción por web, se sacó en esta operación de inscripción a cursada la transacción desde php y la misma se abre y cierra en el mismo procedure, con lo cual debe pasarse el valor N (No esta en transacción), con lo cual esto hará que sea el mismo procedure quien maneje la transacción.
Por web, si al pasar el valor N les da que ya existe transacción es porque algo quedo mal en la página php que llama a este procedure ya que no debería manejar la transacción.