Subject ISC Error 33554483
Author Marcos Lommez
Im trying to execute that statement and receive that error message:

"Unsucessful execution caused by system error that does not preclude
sucessful execution of subsequent statements.
ISC Error 335544831"

What this error number means? Or where can i check what 335544831
means?
The same error is occuring for anothers procedures

Im using FireBird 1.5.3.4870 runnig on win2k server

Here is the statement:
Take a look at the last lines, i have found out where is the error.


ALTER PROCEDURE SP_CALCULA_SALDO_CAIXA2(CONTA_PC_ID INTEGER,
CONTA_CAIXA_IN INTEGER,
NATUREZA_IN VARCHAR(1),
MEIO_PAGAMENTO_IN INTEGER,
DATA_INICIAL_IN DATE,
HORA_INICIAL_IN TIME)
RETURNS(VALOR_OUT NUMERIC(15,2))
AS
DECLARE VARIABLE VAR_VALOR_TEMP NUMERIC(15,2);
DECLARE VARIABLE VAR_HORA_LANCAMENTO TIME;
DECLARE VARIABLE VAR_DATA_LANCAMENTO DATE;
begin
VALOR_OUT = 0;
FOR
SELECT MOV_VALOR, MOV_DATA_LANCAMENTO, MOV_HORA_LANCAMENTO FROM
MOVIMENTACAO
WHERE MOV_CONTA_DEVEDORA = :CONTA_PC_ID
AND MOV_CAIXA_ID = :CONTA_CAIXA_IN
AND MOV_DATA_LANCAMENTO >= :DATA_INICIAL_IN
AND MOV_NATUREZA_OPERACAO_CAIXA = :NATUREZA_IN
AND MOV_MEIO_PAGAMENTO = :MEIO_PAGAMENTO_IN
AND MOV_STATUS = 'N'
ORDER BY MOV_MEIO_PAGAMENTO
into :VAR_VALOR_TEMP, :VAR_DATA_LANCAMENTO,
:VAR_HORA_LANCAMENTO DO
Begin
if (VAR_VALOR_TEMP is null) then
VAR_VALOR_TEMP = 0;
/* Antes de somar verifica se o registro sendo no mesmo disso
corresponde ao periodo de hora inicial estipulado */
/* Situacao 1 - Mesma data a hora tem que ser maior ou igual a
especificada*/
if ((VAR_DATA_LANCAMENTO = DATA_INICIAL_IN) AND
(VAR_HORA_LANCAMENTO
>= HORA_INICIAL_IN)) then
BEGIN
VALOR_OUT = :VALOR_OUT + :VAR_VALOR_TEMP;
END
ELSE
BEGIN
/* Situacao 2 - Data maior, pode ser qualquer hora */
if (VAR_DATA_LANCAMENTO > DATA_INICIAL_IN) then
VALOR_OUT = :VALOR_OUT + :VAR_VALOR_TEMP;
END
End
/* Seleciona agora os descontos concedidos para subtrair um do
outro.*/
FOR
SELECT MOV_VALOR, MOV_DATA_LANCAMENTO, MOV_HORA_LANCAMENTO FROM
MOVIMENTACAO
WHERE MOV_CONTA_CREDORA = :CONTA_PC_ID
AND MOV_CAIXA_ID = :CONTA_CAIXA_IN
AND MOV_DATA_LANCAMENTO >= :DATA_INICIAL_IN
AND MOV_NATUREZA_OPERACAO_CAIXA = :NATUREZA_IN
AND MOV_MEIO_PAGAMENTO = :MEIO_PAGAMENTO_IN
AND MOV_STATUS = 'N'
ORDER BY MOV_MEIO_PAGAMENTO
into :VAR_VALOR_TEMP, :VAR_DATA_LANCAMENTO,
:VAR_HORA_LANCAMENTO DO
Begin
if (VAR_VALOR_TEMP is null) then
VAR_VALOR_TEMP = 0;
/* Antes de somar verifica se o registro sendo no mesmo disso
corresponde ao periodo de hora inicial estipulado */
/* Situacao 1 - Mesma data a hora tem que ser maior ou igual a
especificada*/
if ((VAR_DATA_LANCAMENTO = DATA_INICIAL_IN) AND
(VAR_HORA_LANCAMENTO
>= HORA_INICIAL_IN)) then
BEGIN
VALOR_OUT = VALOR_OUT - VAR_VALOR_TEMP;
END
ELSE
BEGIN
/* Situacao 2 - Data maior, pode ser qualquer hora */
if (VAR_DATA_LANCAMENTO > DATA_INICIAL_IN) then
VALOR_OUT = VALOR_OUT - VAR_VALOR_TEMP;
END
End
VALOR_OUT = ROUND(VALOR_OUT, 2); -- **** Here is the error. if i
comment
this line every thing works fine
suspend;
end