Erro em carregamento dinamico de poplist

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
homercher
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Qui, 30 Jul 2009 2:03 pm
Localização: POA

Caros,

tenho dois cursores em plsql, estou tentando utilizar o resutlado dos dois cursores para carregar uma poplist.

Ocorre que quando o primeiro cursos tem dados carrega a poplist sem problemas, o erro ocorre quando tem dados no segundo cursor: Ai gera erro de inserção de dados no botao. Invalid value for field bota.apache

Por último tentei colocando o comando syncronize, mas mesmo assim o erro persiste....

Segue código:

Selecionar tudo

PROCEDURE p_PROCEDURE IS

CURSOR c_cursor1  (c_atd_seq NUMBER)
IS
  select seqp seq, to_char(dthr_ingresso_unidade,'dd/mm/yyyy hh24:mi') descricao
    from tab1
      where atd_seq = c_atd_seq;

CURSOR C_cursor2  (p_atd_seq NUMBER)
IS
  select seq sequencia, to_char(dthr_ingresso_unidade,'dd/mm/yyyy hh24:mi') descricao
		from tab2
			where atd_seq = p_atd_seq
		    and situacao = 'E' or situacao = 'A'
		      order by  dthr_ingresso_unidade desc;

ind    NUMBER:= 0;
v_flag NUMBER:= 0;

BEGIN
  --
  v_flag:=0;
  ind:= 1;
	CLEAR_LIST('BUT_GSO.APACHE');
	--ind:=ind + 1;
	--
	--
	--
	--
	--
	synchronize;
  enter;
	FOR R1 IN c_CURSOR1(NAME_IN('pia.atd_seq')) LOOP
		if v_flag = 0 then
	    add_list_element('BUT_GSO.APACHE',IND,'APACHE',999);
		end if;
		v_flag:=1;
		ind:=ind + 1;
		add_list_element('BUT_GSO.APACHE',IND,R1.descricao,'A'||R1.SEQ);
	END LOOP;
  --
  --
  --
  synchronize;
  enter;
	v_flag:=0;
	FOR R2 IN C_CURSOR2(NAME_IN('pia.atd_seq')) LOOP
		if v_flag = 0 then
     	add_list_element('BUT_GSO.APACHE',IND,'PIM2',5000);
     	synchronize;
    end if;
		v_flag:=1;
		ind:=ind+1;
		add_list_element('BUT_GSO.APACHE',IND,R2.descricao,'P'||R2.sequencia);
	END LOOP;
	--
END;



victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

não teria que ter um commit entre uma e outra.. não conheco muito bem o add_list_element mas pelo nome acredito eu que de um insert em algum lugar, e se você tiver contando com o dado no segundo cursor..

em fim..
homercher
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Qui, 30 Jul 2009 2:03 pm
Localização: POA

Creio que não seja necessário o commit, pois estou apenas incluindo itens em uma poplist, interessante que mesmo acontecendo o erro a poplist é carregada....
homercher
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Qui, 30 Jul 2009 2:03 pm
Localização: POA

Os cursores não dependem um do outro, dificilmente, pelo negócio mesmo, vai acontecer de ter os dados dos dois cursores, no caso em que estou testando um exclue o outro, não chega a executar um cursor caso tenha dados do outro....
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

eu falei do commit pois você disse que so tem erro quando tem dados ne.. mas dai seria porque ele entra no for..

em fim

boa sorte com seu problema
homercher
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Qui, 30 Jul 2009 2:03 pm
Localização: POA

entendi, obrigado....
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes