Boa tarde pessoal!
Depois de bastante tempo estou voltando a reutilizar o fórum. Fazem mais de um dia (desde sexta-feira) que estou tentando mapear o retorno de uma PL para meu código Java e não estou conseguindo. O retorno da PL é o seguinte:
pi_num_agencia(String), pi_num_posto(String), pi_cod_usuario(String), pi_num_conta(String), pi_cod_produto(String), pi_vlr_financiado(Float), pi_qtd_parcelas(Float), pi_data_atual(Date), pi_aplicacao(String), pi_operacao(String), po_contrata_online(Integer), po_data_efetivacao(Date), po_data_hora_inclusao(Date), po_des_autenticacao(String), pi_num_agencia_term(String), pi_num_posto_term(String), pi_data_pri_vcto(Date), pi_comitar(String)
No lado Java, o mapeamento é realizado da seguinte forma:
ParameterHandler<ResultSet> handler = new ParameterHandler<ResultSet>() {
public void setParameters(StatementWrapper s) throws SQLException {
TypeManager.registerCursor(1, s);
s.setString(2, piNumAgencia);
s.setString(3, piNumPosto);
s.setString(4, piCodUsuario);
s.setString(5, piNumConta);
s.setString(6, piCodProduto);
s.setBigDecimal(7, piVlrFinanciado);
s.setBigDecimal(8, piQtdParcelas);
s.setDate(9, piDataAtual);
s.setString(10, piAplicacao);
s.setString(11, piOperacao);
s.registerOutParameter(12, java.sql.Types.INTEGER);
s.registerOutParameter(13, java.sql.Types.DATE);
s.registerOutParameter(14, java.sql.Types.DATE);
s.registerOutParameter(15, java.sql.Types.VARCHAR);
s.setString(16, piNumAgenciaTerm);
s.setString(17, piNumPostoTerm);
s.setDate(18, piDataPrimVencimento);
s.setString(19, piComitar);
}
Tenho como resultado a seguinte exceção:
java.sql.SQLException: ORA-06550: line 1, column 14:
PLS-00306: wrong number or types of arguments in call to 'FNC_SIMULACAOCONTRATACAO'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Parece meio óbvio que o problema está no mapeamento dos parametros. Não sou eu quem desenvolvo a PL, somente recebo a MI com a definição dos parametros de entrada e saída. Mas estou incapaz de corrigir este problema. Quem sabe alguém de vocês enxerga alguma coisa óbvia neste mapeamento que não estou vendo.
Agradeço muito!
Att.