[firebase-br] Problema com SP

NextCorp Informática nextcorp em terra.com.br
Qua Fev 11 12:43:11 -03 2009


Caros colegas

Tenho a sp abaixo, que deve me retornar os auxiliares e os dependentes se existirem, mas se não existirem deve retornar o auxiliar igualmente, mas só que não está retornando os auxiliares que não tem dependente.

Já tentei de tudo e não sei mais oque pensar.

PS: Andrei, aquela dica do colega Ivan Meirelles que serviu para ti, depois testando com mais dados, vi que para mim não funcionava.

Segue a minha SP

for
      select a.aux_codigo, a.aux_nome, a.aux_num_ficha, c.esc_razao
      from auxiliares a
      Left Join empresas b On b.emp_aux_codigo = a.aux_codigo
      Left Join escola c On c.esc_codigo = b.emp_esc_codigo
      where (aux_situacao = 1) and (aux_num_ficha <> 0) and (emp_socio = 'S') and (emp_demitido = 'N') and (emp_carteira = 'S')
      order by aux_nome
      into :waux_codigo, :waux_nome, :waux_num_ficha, :wesc_razao
    do
      begin
          wdep_nome= null;
          wdep_dt_nasc= null;
          wdep_grau= null;
          wdep_pg_entrada= null;
          for
              select b.dep_nome, b.dep_dt_nasc,
                case b.dep_grau
                   when 'A' then 'Agregado'
                   when 'T' then 'Enteado(a)'
                   when 'E' then 'Esposo(a)'
                   when 'F' then 'Filho(a)'
                   when 'I' then 'Irmao(a)'
                   when 'M' then 'Mae'
                   when 'O' then 'Namorado(a)'
                   when 'N' then 'Neto(a)'
                   when 'V' then 'Noivo(a)'
                   when 'P' then 'Pai'
                   when 'S' then 'Sogro(a)'
                end as Grau,
                case b.dep_pg_entrada
                    when 'S' then '$'
                    when 'N' then ' '
                end as Paga
              from dependentes b
              where (dep_aux_codigo = :waux_codigo) and (dep_carteira = 'S')
              order by dep_nome
              into :wdep_nome, :wdep_dt_nasc, :wdep_grau, :wdep_pg_entrada
          do
            begin
                if (row_count = 0) then
                   begin
                        wdep_nome= null;
                        wdep_dt_nasc= null;
                        wdep_grau= null;
                        wdep_pg_entrada= null;
                        suspend;
                   end
                else
                   suspend;
            end
      end
    suspend;



Atenciosamente

Washington André Muller da silva

#######################
NextCorp Informática Ltda
www.nextcorp.com.br
nextcorp em terra.com.br
0xx-(51)-3037-6605
#######################


Mais detalhes sobre a lista de discussão lista