Sospecho que es en esta linea
psP = conn2.prepareStatement(consulta);
ResultSet rs =psP.executeQuery();
por que alli al hacer DEBUG, me dice cuantos registros llegaron y efectivamente para esas ciudades es 0 o 7 o 1 etc.
Repito al ejecutar la consulta por fuera en PL directamente sobre la BD funciona bien para todas las ciudades.
Código Java:
Ver original
public LinkedList<RegistrosProd> getEcoProdSuc(String idSUC, int idRamo, int Nivel) throws SQLException { LinkedList<RegistrosProd> listaEcoProd = new LinkedList<RegistrosProd>(); try { conn2 = ConexionEco.getConexion(); } if (conn2 != null) { PreparedStatement psP; if (Nivel==1){ consulta="SELECT ...... no lo pego por que es muy largo" ; } try { psP = conn2.prepareStatement(consulta); while (rs.next()){ RegistrosProd contactoP = new RegistrosProd(); contactoP.setsucux(rs.getInt("sucu")); contactoP.setDescsuc(rs.getString("descsuc")); contactoP.setMes(rs.getInt("mes")); contactoP.setProdnnrealx(rs.getInt("prodnnrealx")); contactoP.setProynntx(rs.getInt("proynntx")); contactoP.setProdrnrealx(rs.getInt("prodrnrealx")); contactoP.setProyrntx(rs.getInt("proyrntx")); listaEcoProd.add(contactoP); } } finally { try { // cierro la conexion con la base de datos if (conn2 != null && !conn2.isClosed()) { conn2.close(); } } } } return listaEcoProd; }