/** * Actualiza al registro con las modificaciones enviadas sobre la entidad (vData). * * <p><b> update TRATiempoTraslado set iNumDiasTraslado=?, lDiasNaturalesTraslado=? where * iCveTramite = ? AND iCveModalidad = ? AND iCveOficinaOrigen = ? AND iCveOficinaDestino = ? AND * dtIniVigencia = ? </b> * * <p><b> Campos Llave: * iCveTramite,iCveModalidad,iCveOficinaOrigen,iCveOficinaDestino,dtIniVigencia, </b> * * @param vData TVDinRep - VO Dinámico que contiene a la entidad a Insertar. * @param cnNested Connection - Conexión anidada que permite que el método se encuentre dentro de * una transacción mayor. * @throws DAOException - Excepción de tipo DAO * @return TVDinRep - Entidad Modificada. */ public TVDinRep update(TVDinRep vData, Connection cnNested) throws DAOException { DbConnection dbConn = null; Connection conn = cnNested; PreparedStatement lPStmt = null; boolean lSuccess = true; try { if (cnNested == null) { dbConn = new DbConnection(dataSourceName); conn = dbConn.getConnection(); conn.setAutoCommit(false); conn.setTransactionIsolation(2); } String lSQL = "update TRATiempoTraslado set iNumDiasTraslado=?, lDiasNaturalesTraslado=? where iCveTramite = ? AND iCveModalidad = ? AND iCveOficinaOrigen = ? AND iCveOficinaDestino = ? AND dtIniVigencia = ? "; vData.addPK(vData.getString("iCveTramite")); vData.addPK(vData.getString("iCveModalidad")); vData.addPK(vData.getString("iCveOficinaOrigen")); vData.addPK(vData.getString("iCveOficinaDestino")); vData.addPK(vData.getString("dtIniVigencia")); lPStmt = conn.prepareStatement(lSQL); lPStmt.setInt(1, vData.getInt("iNumDiasTraslado")); lPStmt.setInt(2, vData.getInt("lDiasNaturalesTraslado")); lPStmt.setInt(3, vData.getInt("iCveTramite")); lPStmt.setInt(4, vData.getInt("iCveModalidad")); lPStmt.setInt(5, vData.getInt("iCveOficinaOrigen")); lPStmt.setInt(6, vData.getInt("iCveOficinaDestino")); lPStmt.setDate(7, vData.getDate("dtIniVigencia")); lPStmt.executeUpdate(); if (cnNested == null) { conn.commit(); } } catch (Exception ex) { warn("update", ex); if (cnNested == null) { try { conn.rollback(); } catch (Exception e) { fatal("update.rollback", e); } } lSuccess = false; } finally { try { if (lPStmt != null) { lPStmt.close(); } if (cnNested == null) { if (conn != null) { conn.close(); } dbConn.closeConnection(); } } catch (Exception ex2) { warn("update.close", ex2); } if (lSuccess == false) throw new DAOException(""); return vData; } }
/** * Inserta el registro dado por la entidad vData. * * <p><b> insert into * TRATiempoTraslado(iCveTramite,iCveModalidad,iCveOficinaOrigen,iCveOficinaDestino,dtIniVigencia,iNumDiasTraslado,lDiasNaturalesTraslado) * values (?,?,?,?,?,?,?) </b> * * <p><b> Campos Llave: * iCveTramite,iCveModalidad,iCveOficinaOrigen,iCveOficinaDestino,dtIniVigencia, </b> * * @param vData TVDinRep - VO Dinámico que contiene a la entidad a Insertar. * @param cnNested Connection - Conexión anidada que permite que el método se encuentre dentro de * una transacción mayor. * @throws DAOException - Excepción de tipo DAO * @return TVDinRep - VO Dinámico que contiene a la entidad a Insertada, así como a la llave de * esta entidad. */ public TVDinRep insert(TVDinRep vData, Connection cnNested) throws DAOException { DbConnection dbConn = null; Connection conn = cnNested; PreparedStatement lPStmt = null; boolean lSuccess = true; String cMsg = ""; try { if (cnNested == null) { dbConn = new DbConnection(dataSourceName); conn = dbConn.getConnection(); conn.setAutoCommit(false); conn.setTransactionIsolation(2); } String lSQL = "insert into TRATiempoTraslado(iCveTramite,iCveModalidad,iCveOficinaOrigen,iCveOficinaDestino,dtIniVigencia,iNumDiasTraslado,lDiasNaturalesTraslado) values (?,?,?,?,?,?,?)"; // AGREGAR AL ULTIMO ... vData.addPK(vData.getString("iCveTramite")); vData.addPK(vData.getString("iCveModalidad")); vData.addPK(vData.getString("iCveOficinaOrigen")); vData.addPK(vData.getString("iCveOficinaDestino")); vData.addPK(vData.getString("dtIniVigencia")); // ... lPStmt = conn.prepareStatement(lSQL); lPStmt.setInt(1, vData.getInt("iCveTramite")); lPStmt.setInt(2, vData.getInt("iCveModalidad")); lPStmt.setInt(3, vData.getInt("iCveOficinaOrigen")); lPStmt.setInt(4, vData.getInt("iCveOficinaDestino")); lPStmt.setDate(5, vData.getDate("dtIniVigencia")); lPStmt.setInt(6, vData.getInt("iNumDiasTraslado")); lPStmt.setInt(7, vData.getInt("lDiasNaturalesTraslado")); lPStmt.executeUpdate(); if (cnNested == null) { conn.commit(); } } catch (SQLException sqle) { lSuccess = false; cMsg = "" + sqle.getErrorCode(); } catch (Exception ex) { warn("insert", ex); if (cnNested == null) { try { conn.rollback(); } catch (Exception e) { fatal("insert.rollback", e); } } lSuccess = false; } finally { try { if (lPStmt != null) { lPStmt.close(); } if (cnNested == null) { if (conn != null) { conn.close(); } dbConn.closeConnection(); } } catch (Exception ex2) { warn("insert.close", ex2); } if (lSuccess == false) throw new DAOException(cMsg); return vData; } }
/** * Elimina al registro a través de la entidad dada por vData. * * <p><b> delete from TRATiempoTraslado where iCveTramite = ? AND iCveModalidad = ? AND * iCveOficinaOrigen = ? AND iCveOficinaDestino = ? AND dtIniVigencia = ? </b> * * <p><b> Campos Llave: * iCveTramite,iCveModalidad,iCveOficinaOrigen,iCveOficinaDestino,dtIniVigencia, </b> * * @param vData TVDinRep - VO Dinámico que contiene a la entidad a Insertar. * @param cnNested Connection - Conexión anidada que permite que el método se encuentre dentro de * una transacción mayor. * @throws DAOException - Excepción de tipo DAO * @return boolean - En caso de ser o no eliminado el registro. */ public boolean delete(TVDinRep vData, Connection cnNested) throws DAOException { DbConnection dbConn = null; Connection conn = cnNested; PreparedStatement lPStmt = null; boolean lSuccess = true; String cMsg = ""; try { if (cnNested == null) { dbConn = new DbConnection(dataSourceName); conn = dbConn.getConnection(); conn.setAutoCommit(false); conn.setTransactionIsolation(2); } // Ajustar Where de acuerdo a requerimientos... String lSQL = "delete from TRATiempoTraslado where iCveTramite = ? AND iCveModalidad = ? AND iCveOficinaOrigen = ? AND iCveOficinaDestino = ? AND dtIniVigencia = ? "; // ... lPStmt = conn.prepareStatement(lSQL); lPStmt.setInt(1, vData.getInt("iCveTramite")); lPStmt.setInt(2, vData.getInt("iCveModalidad")); lPStmt.setInt(3, vData.getInt("iCveOficinaOrigen")); lPStmt.setInt(4, vData.getInt("iCveOficinaDestino")); lPStmt.setDate(5, vData.getDate("dtIniVigencia")); lPStmt.executeUpdate(); if (cnNested == null) { conn.commit(); } } catch (SQLException sqle) { lSuccess = false; cMsg = "" + sqle.getErrorCode(); } catch (Exception ex) { warn("delete", ex); if (cnNested == null) { try { conn.rollback(); } catch (Exception e) { fatal("delete.rollback", e); } } lSuccess = false; } finally { try { if (lPStmt != null) { lPStmt.close(); } if (cnNested == null) { if (conn != null) { conn.close(); } dbConn.closeConnection(); } } catch (Exception ex2) { warn("delete.close", ex2); } if (lSuccess == false) throw new DAOException(cMsg); return lSuccess; } }
/** * Inserta el registro dado por la entidad vData. * * <p><b> insert into * GRLRegistroPNC(iEjercicio,iConsecutivoPNC,dtRegistro,iCveUsuRegistro,iCveProducto,lResuelto,dtResolucion,iCveOficinaAsignado,iCveDeptoAsignado) * values (?,?,?,?,?,?,?,?,?) </b> * * <p><b> Campos Llave: iEjercicio,iConsecutivoPNC, </b> * * @param vData TVDinRep - VO Dinámico que contiene a la entidad a Insertar. * @param cnNested Connection - Conexión anidada que permite que el método se encuentre dentro de * una transacción mayor. * @throws DAOException - Excepción de tipo DAO * @return TVDinRep - VO Dinámico que contiene a la entidad a Insertada, así como a la llave de * esta entidad. */ public TVDinRep insert(TVDinRep vData, Connection cnNested) throws DAOException { DbConnection dbConn = null; Connection conn = cnNested; PreparedStatement lPStmt = null; boolean lSuccess = true; TFechas dtFechaActual = new TFechas(); try { if (cnNested == null) { dbConn = new DbConnection(dataSourceName); conn = dbConn.getConnection(); conn.setAutoCommit(false); conn.setTransactionIsolation(2); } String lSQL = "insert into GRLRegistroPNC(iEjercicio,iConsecutivoPNC,dtRegistro,iCveUsuRegistro,iCveProducto,lResuelto,dtResolucion,iCveOficinaAsignado,iCveDeptoAsignado,iCveOficina,iCveDepartamento,iCveProceso) values (?,?,?,?,?,?,?,?,?,?,?,?)"; // AGREGAR AL ULTIMO ... Vector vcData = findByCustom( "", "select MAX(iConsecutivoPNC) AS iConsecutivoPNC from GRLRegistroPNC WHERE iEjercicio = " + vData.getInt("iEjercicio")); if (vcData.size() > 0) { TVDinRep vUltimo = (TVDinRep) vcData.get(0); vData.put("iConsecutivoPNC", vUltimo.getInt("iConsecutivoPNC") + 1); } else vData.put("iConsecutivoPNC", 1); vData.addPK(vData.getString("iConsecutivoPNC")); lPStmt = conn.prepareStatement(lSQL); lPStmt.setInt(1, dtFechaActual.getIntYear(dtFechaActual.TodaySQL())); lPStmt.setInt(2, vData.getInt("iConsecutivoPNC")); iConsecutivo = vData.getInt("iConsecutivoPNC"); lPStmt.setDate(3, tFecha.TodaySQL()); lPStmt.setInt(4, vData.getInt("iCveUsuario")); lPStmt.setInt(5, vData.getInt("iCveProducto")); lPStmt.setInt(6, vData.getInt("lResuelto")); if (vData.getDate("dtResolucion") == null) lPStmt.setNull(7, Types.DATE); else lPStmt.setDate(7, vData.getDate("dtResolucion")); lPStmt.setInt(8, vData.getInt("iCveOficinaUsrAsg")); lPStmt.setInt(9, vData.getInt("iCveDeptoUsrAsg")); lPStmt.setInt(10, vData.getInt("iCveOficinaUsr")); lPStmt.setInt(11, vData.getInt("iCveDeptoUsr")); lPStmt.setInt(12, vData.getInt("iCveProceso")); lPStmt.executeUpdate(); lPStmt.close(); try { TDGRLRegCausaPNC1 dGRLRegCausaPNC = new TDGRLRegCausaPNC1(); dGRLRegCausaPNC.insert(vData, conn, iConsecutivo); } catch (Exception exCausa) { exCausa.printStackTrace(); lSuccess = false; throw new Exception("Error Causa"); } if (cnNested == null && lSuccess) conn.commit(); } catch (Exception ex) { warn("insert", ex); if (cnNested == null) { try { conn.rollback(); } catch (Exception e) { fatal("insert.rollback", e); } } lSuccess = false; } finally { try { if (lPStmt != null) lPStmt.close(); if (cnNested == null) { if (conn != null) conn.close(); dbConn.closeConnection(); } } catch (Exception ex2) { warn("insert.close", ex2); } if (lSuccess == false) throw new DAOException(""); return vData; } }
/** * Actualiza el campo de Producto No Conforme de la persona que recibe la notificación. * * <p><b> update GRLRegistroPNC set cRecibeNotif=? where iEjercicio = ? AND iConsecutivoPNC = ? * </b> * * <p><b> Campos Llave: iEjercicio,iConsecutivoPNC, </b> * * @param vData TVDinRep - VO Dinámico que contiene a la entidad a Insertar. * @param cnNested Connection - Conexión anidada que permite que el método se encuentre dentro de * una transacción mayor. * @throws DAOException - Excepción de tipo DAO * @return TVDinRep - Entidad Modificada. */ public TVDinRep updateRecibe(TVDinRep vData, Connection cnNested) throws DAOException { DbConnection dbConn = null; Connection conn = cnNested; PreparedStatement lPStmt = null; int iConsecutivoPNC = 0, iEjercicioPNC = 0; boolean lSuccess = true; try { if (cnNested == null) { dbConn = new DbConnection(dataSourceName); conn = dbConn.getConnection(); conn.setAutoCommit(false); conn.setTransactionIsolation(2); } Vector vcPNC = findByCustom( "", "SELECT " + "iEjercicioPNC,ICONSECUTIVOPNC " + "FROM TRAREGPNCETAPA " + "where IEJERCICIO = " + vData.getInt("iEjercicio") + " and INUMSOLICITUD = " + vData.getInt("iNumSolicitud") + " order by iorden desc"); if (vcPNC.size() > 0) { TVDinRep vRegPNC = (TVDinRep) vcPNC.get(0); iConsecutivoPNC = vRegPNC.getInt("ICONSECUTIVOPNC"); iEjercicioPNC = vRegPNC.getInt("iEjercicioPNC"); } String lSQL = "update GRLRegistroPNC set cRecibeNotif=?,dtNotificacion=? where iEjercicio = ? AND iConsecutivoPNC = ? "; lPStmt = conn.prepareStatement(lSQL); lPStmt.setString(1, vData.getString("cRecibeNotif")); lPStmt.setDate(2, vData.getDate("dtNotificacion")); lPStmt.setInt(3, iEjercicioPNC); lPStmt.setInt(4, iConsecutivoPNC); if (cnNested == null) { conn.commit(); } /*if(cnNested == null){ conn.commit(); TDVerificacion tdVer = new TDVerificacion(); tdVer.upNotificacion(vData, cnNested); }*/ } catch (Exception ex) { warn("update", ex); if (cnNested == null) { try { conn.rollback(); } catch (Exception e) { fatal("update.rollback", e); } } lSuccess = false; } finally { try { if (lPStmt != null) { lPStmt.close(); } if (cnNested == null) { if (conn != null) { conn.close(); } dbConn.closeConnection(); } } catch (Exception ex2) { warn("update.close", ex2); } if (lSuccess == false) throw new DAOException(""); return vData; } }
/** * Actualiza al registro con las modificaciones enviadas sobre la entidad (vData). * * <p><b> update GRLRegistroPNC set dtRegistro=?, iCveUsuRegistro=?, iCveProducto=?, lResuelto=?, * dtResolucion=?, iCveOficinaAsignado=?, iCveDeptoAsignado=? where iEjercicio = ? AND * iConsecutivoPNC = ? </b> * * <p><b> Campos Llave: iEjercicio,iConsecutivoPNC, </b> * * @param vData TVDinRep - VO Dinámico que contiene a la entidad a Insertar. * @param cnNested Connection - Conexión anidada que permite que el método se encuentre dentro de * una transacción mayor. * @throws DAOException - Excepción de tipo DAO * @return TVDinRep - Entidad Modificada. */ public TVDinRep update(TVDinRep vData, Connection cnNested) throws DAOException { DbConnection dbConn = null; Connection conn = cnNested; PreparedStatement lPStmt = null; boolean lSuccess = true; try { if (cnNested == null) { dbConn = new DbConnection(dataSourceName); conn = dbConn.getConnection(); conn.setAutoCommit(false); conn.setTransactionIsolation(2); } String lSQL = "update GRLRegistroPNC set dtRegistro=?, iCveUsuRegistro=?, iCveProducto=?, lResuelto=?, dtResolucion=?, iCveOficinaAsignado=?, iCveDeptoAsignado=? where iEjercicio = ? AND iConsecutivoPNC = ? "; vData.addPK(vData.getString("iEjercicio")); vData.addPK(vData.getString("iConsecutivoPNC")); lPStmt = conn.prepareStatement(lSQL); lPStmt.setDate(1, vData.getDate("dtRegistro")); lPStmt.setInt(2, vData.getInt("iCveUsuRegistro")); lPStmt.setInt(3, vData.getInt("iCveProducto")); lPStmt.setInt(4, vData.getInt("lResuelto")); lPStmt.setDate(5, vData.getDate("dtResolucion")); lPStmt.setInt(6, vData.getInt("iCveOficinaAsignado")); lPStmt.setInt(7, vData.getInt("iCveDeptoAsignado")); lPStmt.setInt(8, vData.getInt("iEjercicio")); lPStmt.setInt(9, vData.getInt("iConsecutivoPNC")); lPStmt.executeUpdate(); if (cnNested == null) { conn.commit(); } } catch (Exception ex) { warn("update", ex); if (cnNested == null) { try { conn.rollback(); } catch (Exception e) { fatal("update.rollback", e); } } lSuccess = false; } finally { try { if (lPStmt != null) { lPStmt.close(); } if (cnNested == null) { if (conn != null) { conn.close(); } dbConn.closeConnection(); } } catch (Exception ex2) { warn("update.close", ex2); } if (lSuccess == false) throw new DAOException(""); return vData; } }
/** * Inserta el registro dado por la entidad vData. * * <p><b> insert into * GRLRegistroPNC(iEjercicio,iConsecutivoPNC,dtRegistro,iCveUsuRegistro,iCveProducto,lResuelto,dtResolucion,iCveOficinaAsignado,iCveDeptoAsignado) * values (?,?,?,?,?,?,?,?,?) </b> * * <p><b> Campos Llave: iEjercicio,iConsecutivoPNC, </b> * * @param vData TVDinRep - VO Dinámico que contiene a la entidad a Insertar. * @param cnNested Connection - Conexión anidada que permite que el método se encuentre dentro de * una transacción mayor. * @throws DAOException - Excepción de tipo DAO * @return TVDinRep - VO Dinámico que contiene a la entidad a Insertada, así como a la llave de * esta entidad. */ public TVDinRep insertExiste(TVDinRep vData, Connection cnNested) throws DAOException { DbConnection dbConn = null; Connection conn = cnNested; PreparedStatement lPStmt = null; boolean lSuccess = true; boolean lAgregarAPNC = false; boolean lInsertaCausa = false; TFechas dtFechaActual = new TFechas(); int iNumSolicitud, iCveTramite, iCveModalidad = 0; int iConsecutivoPNC = 0; int iEjercicio = 0; try { // LEL26092006 Vector vcDataA = findByCustom( "", "SELECT " + "TRAREGPNCETAPA.IEJERCICIOPNC, " + "TRAREGPNCETAPA.INUMSOLICITUD, " + "TRAREGPNCETAPA.ICONSECUTIVOPNC, " + "TRAREGPNCETAPA.ICVETRAMITE, " + "TRAREGPNCETAPA.ICVEMODALIDAD " + "FROM TRAREGPNCETAPA " + "where TRAREGPNCETAPA.IEJERCICIO = " + vData.getInt("iEjercicio") + " and TRAREGPNCETAPA.INUMSOLICITUD = " + vData.getInt("iNumSolicitud") + " ORDER BY ICONSECUTIVOPNC DESC "); TVDinRep vSoli; if (vcDataA.size() > 0) { vSoli = (TVDinRep) vcDataA.get(0); iEjercicio = vSoli.getInt("IEJERCICIOPNC"); iNumSolicitud = vSoli.getInt("INUMSOLICITUD"); iConsecutivoPNC = vSoli.getInt("ICONSECUTIVOPNC"); iCveTramite = vSoli.getInt("ICVETRAMITE"); iCveModalidad = vSoli.getInt("ICVEMODALIDAD"); vcDataA = null; vcDataA = findByCustom( "", "SELECT " + "DTNOTIFICACION FROM TRAREGREQXTRAM " + "WHERE IEJERCICIO = " + iEjercicio + " AND INUMSOLICITUD = " + iNumSolicitud + " AND ICVETRAMITE = " + iCveTramite + " AND ICVEMODALIDAD = " + iCveModalidad + " AND LTIENEPNC = 1"); lAgregarAPNC = true; for (int i = 0; i < vcDataA.size() && lAgregarAPNC == false; i++) { vSoli = (TVDinRep) vcDataA.get(i); if (vSoli.getDate("DTNOTIFICACION") == null) lAgregarAPNC = true; else lAgregarAPNC = false; } } if (lAgregarAPNC) { TVDinRep vResuelto; Vector vcDataR = findByCustom( "", "SELECT lResuelto " + "FROM GRLREGISTROPNC WHERE " + "IEJERCICIO = " + iEjercicio + " AND ICONSECUTIVOPNC = " + iConsecutivoPNC); if (vcDataR.size() > 0) { vResuelto = (TVDinRep) vcDataR.get(0); if (vResuelto.getInt("lResuelto") != 0) lAgregarAPNC = false; } } // FinLEL26092006 if (cnNested == null) { dbConn = new DbConnection(dataSourceName); conn = dbConn.getConnection(); conn.setAutoCommit(false); conn.setTransactionIsolation(2); } String lSQL = "insert into GRLRegistroPNC(iEjercicio,iConsecutivoPNC,dtRegistro,iCveUsuRegistro,iCveProducto,lResuelto,dtResolucion,iCveOficinaAsignado,iCveDeptoAsignado,iCveOficina,iCveDepartamento,iCveProceso) values (?,?,?,?,?,?,?,?,?,?,?,?)"; // AGREGAR AL ULTIMO ... if (lAgregarAPNC == false) { Vector vcData = findByCustom( "", "select MAX(iConsecutivoPNC) AS iConsecutivoPNC from GRLRegistroPNC WHERE iEjercicio = " + vData.getInt("iEjercicio")); if (vcData.size() > 0) { TVDinRep vUltimo = (TVDinRep) vcData.get(0); vData.put("iConsecutivoPNC", vUltimo.getInt("iConsecutivoPNC") + 1); } else vData.put("iConsecutivoPNC", 1); } else { vData.put("iConsecutivoPNC", iConsecutivoPNC); } vData.addPK(vData.getString("iConsecutivoPNC")); lPStmt = conn.prepareStatement(lSQL); lPStmt.setInt(1, dtFechaActual.getIntYear(dtFechaActual.TodaySQL())); lPStmt.setInt(2, vData.getInt("iConsecutivoPNC")); iConsecutivo = vData.getInt("iConsecutivoPNC"); lPStmt.setDate(3, tFecha.TodaySQL()); lPStmt.setInt(4, vData.getInt("iCveUsuario")); lPStmt.setInt(5, vData.getInt("iCveProducto")); lPStmt.setInt(6, vData.getInt("lResuelto")); if (vData.getDate("dtResolucion") == null) lPStmt.setNull(7, Types.DATE); else lPStmt.setDate(7, vData.getDate("dtResolucion")); lPStmt.setInt(8, vData.getInt("iCveOficinaUsrAsg")); lPStmt.setInt(9, vData.getInt("iCveDeptoUsrAsg")); lPStmt.setInt(10, vData.getInt("iCveOficinaUsr")); lPStmt.setInt(11, vData.getInt("iCveDeptoUsr")); lPStmt.setInt(12, vData.getInt("iCveProceso")); if (lAgregarAPNC == false) lPStmt.executeUpdate(); lPStmt.close(); try { TDGRLRegCausaPNC1 dGRLRegCausaPNC = new TDGRLRegCausaPNC1(); // TDGRLRegCausaPNC dGRLRegCausaPNC = new TDGRLRegCausaPNC(); if (lAgregarAPNC == false) { dGRLRegCausaPNC.insert(vData, conn, iConsecutivo); // dGRLRegCausaPNC.insert(vData,conn); } else { dGRLRegCausaPNC.insertA(vData, conn, iConsecutivo); // dGRLRegCausaPNC.insertA(vData,conn); } } catch (Exception exCausa) { exCausa.printStackTrace(); lSuccess = false; } if (cnNested == null && lSuccess) conn.commit(); } catch (Exception ex) { warn("insert", ex); if (cnNested == null) { try { conn.rollback(); } catch (Exception e) { fatal("insert.rollback", e); } } lSuccess = false; } finally { try { if (lPStmt != null) lPStmt.close(); if (cnNested == null) { if (conn != null) conn.close(); dbConn.closeConnection(); } } catch (Exception ex2) { warn("insert.close", ex2); } if (lSuccess == false) throw new DAOException(""); return vData; } }