Subject | SP with returning value error |
---|---|
Author | Francisco Antonio Vieira Souza |
Post date | 2004-08-10T14:49:20Z |
Hello,
I have a SP which has 14 input parameters and 1 output parameter.
I am trying to execute as follwing but obtaining an error, could you
help me?
Java code:
PreparedStatement p = c.prepareStatement("SELECT *
SP_SET_SALVAR_DOCUMENTO_RECEBER(?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
p.setString(1, tipo_recebimento);
p.setString(2, id_tomador);
p.setString(4, documento_origem);
p.setString(12,documento_gerado);
p.setBigDecimal(5, perc_desconto);
p.setBigDecimal(7, perc_juros);
p.setBigDecimal(6, valor_desconto);
p.setBigDecimal(3, valor_receber);
p.setBigDecimal(8, valor_total);
p.setDate(9,data_emissao);
p.setTime(10,hora_emissao);
p.setDate(11, data_vencimento);
p.setString(13, descricao);
p.setString(14, boleto);
ResultSet rs = p.executeQuery();
/*=============== the output parameter */
numero_gerado = rs.getInt("DOCUMENTO_GERADO");
rs.close();
p.close();
Error obtained:
GDS Exception. 335544569. Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 10
SP_SET_SALVAR_DOCUMENTO_RECEBER
SP SQL code:
CREATE PROCEDURE SP_SET_SALVAR_DOCUMENTO_RECEBER (
TIPO_RECEBIMENTO VARCHAR(20),
CLIENTE_TOMADOR VARCHAR(18),
DOCUMENTO_ORIGEM VARCHAR(1),
DOCUMENTO_GERADO2 VARCHAR(30),
PERCENTUAL_DESCONTO NUMERIC(5,5),
PERCENTUAL_JUROS NUMERIC(5,5),
VALOR_DESCONTO NUMERIC(13,5),
VALOR_ORIGINAL NUMERIC(13,5),
VALOR_TOTAL NUMERIC(13,5),
DATA_EMISSAO DATE,
HORA_EMISSAO TIME,
DATA_VENCIMENTO DATE,
DESCRICAO VARCHAR(50),
BOLETO VARCHAR(1))
RETURNS (
DOCUMENTO_GERADO INTEGER)
AS
BEGIN
SELECT FIRST 1 l.NUMERO
FROM DOCUMENTO_RECEBER l
ORDER BY l.NUMERO DESC
INTO :NUMERO_DOCUMENTO;
IF(:NUMERO_DOCUMENTO IS NULL)
THEN NUMERO_DOCUMENTO=1;
ELSE NUMERO_DOCUMENTO = NUMERO_DOCUMENTO + 1;
INSERT INTO DOCUMENTO_RECEBER(
NUMERO,
TIPO_RECEBIMENTO,
CLIENTE_TOMADOR,
DOCUMENTO_ORIGEM,
DOCUMENTO_GERADO,
PERCENTUAL_DESCONTO,
PERCENTUAL_JUROS,
VALOR_DESCONTO,
VALOR_ORIGINAL,
VALOR_TOTAL,
DATA_EMISSAO,
HORA_EMISSAO,
DATA_VENCIMENTO,
OBSERVACAO,
BOLETO)
VALUES(:NUMERO_DOCUMENTO,
:TIPO_RECEBIMENTO,
:CLIENTE_TOMADOR,
:DOCUMENTO_ORIGEM,
:DOCUMENTO_GERADO2,
:PERCENTUAL_DESCONTO,
:PERCENTUAL_JUROS,
:VALOR_DESCONTO,
:VALOR_ORIGINAL,
:VALOR_TOTAL,
:DATA_EMISSAO,
:HORA_EMISSAO,
:DATA_VENCIMENTO,
:DESCRICAO,
:BOLETO);
DOCUMENTO_GERADO = :NUMERO_DOCUMENTO;
suspend;
END^
Thank you very much.
I have a SP which has 14 input parameters and 1 output parameter.
I am trying to execute as follwing but obtaining an error, could you
help me?
Java code:
PreparedStatement p = c.prepareStatement("SELECT *
SP_SET_SALVAR_DOCUMENTO_RECEBER(?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
p.setString(1, tipo_recebimento);
p.setString(2, id_tomador);
p.setString(4, documento_origem);
p.setString(12,documento_gerado);
p.setBigDecimal(5, perc_desconto);
p.setBigDecimal(7, perc_juros);
p.setBigDecimal(6, valor_desconto);
p.setBigDecimal(3, valor_receber);
p.setBigDecimal(8, valor_total);
p.setDate(9,data_emissao);
p.setTime(10,hora_emissao);
p.setDate(11, data_vencimento);
p.setString(13, descricao);
p.setString(14, boleto);
ResultSet rs = p.executeQuery();
/*=============== the output parameter */
numero_gerado = rs.getInt("DOCUMENTO_GERADO");
rs.close();
p.close();
Error obtained:
GDS Exception. 335544569. Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 10
SP_SET_SALVAR_DOCUMENTO_RECEBER
SP SQL code:
CREATE PROCEDURE SP_SET_SALVAR_DOCUMENTO_RECEBER (
TIPO_RECEBIMENTO VARCHAR(20),
CLIENTE_TOMADOR VARCHAR(18),
DOCUMENTO_ORIGEM VARCHAR(1),
DOCUMENTO_GERADO2 VARCHAR(30),
PERCENTUAL_DESCONTO NUMERIC(5,5),
PERCENTUAL_JUROS NUMERIC(5,5),
VALOR_DESCONTO NUMERIC(13,5),
VALOR_ORIGINAL NUMERIC(13,5),
VALOR_TOTAL NUMERIC(13,5),
DATA_EMISSAO DATE,
HORA_EMISSAO TIME,
DATA_VENCIMENTO DATE,
DESCRICAO VARCHAR(50),
BOLETO VARCHAR(1))
RETURNS (
DOCUMENTO_GERADO INTEGER)
AS
BEGIN
SELECT FIRST 1 l.NUMERO
FROM DOCUMENTO_RECEBER l
ORDER BY l.NUMERO DESC
INTO :NUMERO_DOCUMENTO;
IF(:NUMERO_DOCUMENTO IS NULL)
THEN NUMERO_DOCUMENTO=1;
ELSE NUMERO_DOCUMENTO = NUMERO_DOCUMENTO + 1;
INSERT INTO DOCUMENTO_RECEBER(
NUMERO,
TIPO_RECEBIMENTO,
CLIENTE_TOMADOR,
DOCUMENTO_ORIGEM,
DOCUMENTO_GERADO,
PERCENTUAL_DESCONTO,
PERCENTUAL_JUROS,
VALOR_DESCONTO,
VALOR_ORIGINAL,
VALOR_TOTAL,
DATA_EMISSAO,
HORA_EMISSAO,
DATA_VENCIMENTO,
OBSERVACAO,
BOLETO)
VALUES(:NUMERO_DOCUMENTO,
:TIPO_RECEBIMENTO,
:CLIENTE_TOMADOR,
:DOCUMENTO_ORIGEM,
:DOCUMENTO_GERADO2,
:PERCENTUAL_DESCONTO,
:PERCENTUAL_JUROS,
:VALOR_DESCONTO,
:VALOR_ORIGINAL,
:VALOR_TOTAL,
:DATA_EMISSAO,
:HORA_EMISSAO,
:DATA_VENCIMENTO,
:DESCRICAO,
:BOLETO);
DOCUMENTO_GERADO = :NUMERO_DOCUMENTO;
suspend;
END^
Thank you very much.