Subject error in procedure
Author ronaldorezende
My procedure are doesnt execute right.

In this check, the code is not jumping to the else command.
if (QTD_ALUNO_DIARIO > 0) then

Is there a way to debug this code?

my code:
--------
create procedure INSERIR_ALUNOS_EM_DIARIO (
ID_CURSO integer,
ID_DISCIPLINA smallint,
ID_FASE smallint,
ID_TURMA varchar(10) character set WIN1252)
returns (
QTD_ALUNO smallint)
as
DECLARE VARIABLE ID_ALUNO INTEGER;
DECLARE VARIABLE NUMERO_CHAMADA SMALLINT;
DECLARE VARIABLE QTD_ALUNO_DIARIO SMALLINT;
begin
QTD_ALUNO = 0;
NUMERO_CHAMADA = 0;
select
count(*)
from DIARIO_ALUNO
where ID_CURSO = :ID_CURSO and
ID_DISCIPLINA = :ID_DISCIPLINA and
ID_FASE = :ID_FASE and
ID_TURMA = :ID_TURMA
into QTD_ALUNO_DIARIO;
for
select
M.ID_PARCEIRO,
M.ID_TURMA
from
MATRICULA M
left join INDIVIDUO I
on M.ID_PARCEIRO = I.ID_PARCEIRO
where
ID_CURSO = :ID_CURSO and
ID_TURMA = :ID_TURMA and
SITUACAO = 2
order by
I.PRIMEIRO_NOME, I.SOBRENOME
into
:ID_ALUNO, :ID_TURMA
do begin

/* HERE, IF NOT */
/*se o diário não estiver vazio */
if (QTD_ALUNO_DIARIO > 0) then
if (not exists (select * from DIARIO_ALUNO
where ID_CURSO = :ID_CURSO and
ID_DISCIPLINA = :ID_DISCIPLINA and
ID_FASE = :ID_FASE and
ID_TURMA = :ID_TURMA and
ID_ALUNO = :ID_ALUNO))
then begin
select
max(NUMERO_CHAMADA)+1
from DIARIO_ALUNO
where
ID_CURSO = :ID_CURSO and
ID_DISCIPLINA = :ID_DISCIPLINA and
ID_FASE = :ID_FASE and
ID_TURMA = :ID_TURMA
into NUMERO_CHAMADA;
insert into DIARIO_ALUNO (ID_CURSO, ID_DISCIPLINA, ID_FASE,
ID_TURMA, ID_ALUNO, NUMERO_CHAMADA)
values
(:ID_CURSO, :ID_DISCIPLINA, :ID_FASE, :ID_TURMA, :ID_ALUNO, :NUMERO_CH
AMADA);
QTD_ALUNO = QTD_ALUNO + 1;
end

/*se o diário estiver vazio */
/* JUMP TO HERE */

else begin
NUMERO_CHAMADA = NUMERO_CHAMADA + 1;
insert into DIARIO_ALUNO (ID_CURSO, ID_DISCIPLINA, ID_FASE,
ID_TURMA, ID_ALUNO, NUMERO_CHAMADA)
values
(:ID_CURSO, :ID_DISCIPLINA, :ID_FASE, :ID_TURMA, :ID_ALUNO, :NUMERO_CH
AMADA);
QTD_ALUNO = QTD_ALUNO + 1;
end
end
suspend;
end