Capturar parametros de consulta anterior

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
Fábio Neves
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Ter, 06 Nov 2007 9:35 am
Localização: Salvador - Ba

Olá,

Estou com um problema!
Estou usando toolKit.
Na tela 1 tenho 5 campos para filtrar uma pesquisa...então preencho somente 2 e faço a pesquisa, me aparece vários registros, então eu entro em um qualquer, nesta tela 2 aparece todas as informações deste registro e mais um botão VOLTAR, quando clicar nele quero que volte para tela 1 com os 2 campos de filtragem que já estavam preenchidos antes.
Tentei resolver isso com cookies mas não consegui!
Teria uma solução para esse problema?

Aguardo retorno!
Tineks
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 365
Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP

E ai Fabio, beleza?

1) você pode postar o código q esse botao "Voltar" chama?
2) sobre a tela q mostra as informações do registro, nessa tela você pode somente consultar ou alterar os dados??

[]'s
Fábio Neves
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Ter, 06 Nov 2007 9:35 am
Localização: Salvador - Ba

Olá, segue o código da tela 1...a tela 2 só consulta os dados do registro e tem um botão voltar (para tela 1) que eu queria levar somente os parametros da consulta feita na tela 1.

Selecionar tudo

PROCEDURE Consultar(p_webmap                 VARCHAR2 DEFAULT 'S',
                    p_af_cod_afloramento     VARCHAR2 DEFAULT NULL,
                    p_uf					 VARCHAR2 DEFAULT NULL,
                    p_af_municipio			 VARCHAR2 DEFAULT NULL,
					p_af_cod_projeto		 VARCHAR2 DEFAULT NULL,
                    p_af_projeto		     VARCHAR2 DEFAULT NULL,
                    p_af_toponimia           VARCHAR2 DEFAULT NULL,
                    p_botao  			 IN  VARCHAR2 DEFAULT NULL,
					p_pagina 			 IN  NUMBER   DEFAULT 0,
					p_order  			 IN  VARCHAR2 DEFAULT 'top',
					p_comando			 IN  VARCHAR2 DEFAULT NULL,
					p_consulta			 IN  CHAR 	  DEFAULT 'N') IS
-----------------------------------
--Variaveis
v_uf VARCHAR2(180);
v_index NUMBER;
v_total NUMBER;
v_teste VARCHAR2(1000);


TYPE Recursos_Type IS REF CURSOR;
C_AFLORAMENTOS       Recursos_Type;
W_SQL_CURSOR         VARCHAR2(2000);
W_CLAUSULA_AND       VARCHAR2(5);
W_CLAUSULA_WHERE     VARCHAR2(200);
W_SQL_UF1			 VARCHAR2(300);
W_SQL_UF2			 VARCHAR2(300);
W_SQL_MUNICIPIO      VARCHAR2(300);
W_SQL_AFLORA         VARCHAR2(300);
W_SQL_PROJETO        VARCHAR2(300);
W_SQL_TOPONIMIA      VARCHAR2(300);
W_SQL_CLASSE         VARCHAR2(300);
W_LATITUDE           VARCHAR2(300);
W_LONGITUDE          VARCHAR2(300);
W_TOPONIMIA          AF_CADASTRO_LOCALIZACAO.TOPONIMIA%TYPE;
W_COD_AFLORAMENTO    AF_CADASTRO_LOCALIZACAO.COD_AFLORAMENTO%TYPE;
W_ROCHA          	 BIBLIOTECAS.BB_TIPOS_ROCHA.DESC_ROCHA%TYPE;
V_CHAR               VARCHAR2(255);
W_1				     VARCHAR2(100);
W_2				     VARCHAR2(100);
W_EXISTE_PROJETO	 PROJETOS.PR_CADASTRO_PROJETO.COD_PR_PROJETO%TYPE;
BEGIN
 geobank.website.codigo_topo(p_webmap);
 IF NOT geobank.Principal.Cabecalho ('Afloramentos','Afloramentos',15)  THEN
	RETURN;
 END IF;

 Htp.formOpen('Afloramentos.consultar','GET', cattributes=>'name = "atividades"');
  Htp.FormHidden('p_webmap', p_webmap);
  Htp.FormHidden('p_consulta', '');
  Htp.FormHidden('p_af_cod_afloramento', p_af_cod_afloramento);
  geobank.website.abre_tabela('formulario');--1
    Htp.tableRowOpen;
      Htp.tableData('Toponímia<br>'||htf.FORMTEXT('p_af_toponimia', 40, 180, p_af_toponimia, cattributes=>'align=right style="width:170pt"'), cattributes=>'colspan=4');
    Htp.tableRowClose;
    Htp.tableRowOpen;
	  HTP.p ('<TD>UF<br>');
	            HTP.formSelectOpen ('p_uf', cattributes => ' onChange="recarrega();" style="width:175pt"');
	            HTP.p ('<option value="" selected></option>');
	            geobank.Principal.combobox ('COD_UF', 'UF', p_uf, 'bibliotecas.BB_UF', NULL, '2', NULL);
	            HTP.formselectclose;
	  HTP.p ('</TD>');
    Htp.tableRowClose;
    IF p_uf IS NULL THEN
    Htp.tableRowOpen;
	  HTP.p ('<TD>Município<br>');
	            HTP.formSelectOpen ('p_af_municipio', cattributes => ' onChange="recarrega();" style="width:175pt"');
	            HTP.p ('<option value="" selected></option>');
	            HTP.formselectclose;
	  HTP.p ('</TD>');
	ELSE
	  HTP.p ('<TD>Município<br>');
	            HTP.formSelectOpen ('p_af_municipio', cattributes => ' style="width:175pt"');
	            HTP.p ('<option value="" selected></option>');
	            geobank.Principal.combobox ('COD_MUNICIPIO', 'MUNICIPIO', p_af_municipio, 'bibliotecas.BB_MUNICIPIOS', 'UF='''||p_uf||'''' , '2', NULL);
	            HTP.formselectclose;
	  HTP.p ('</TD>');
    END IF;
    Htp.tableRowClose;
    Htp.tableRowOpen;
      Htp.tableData('Código do projeto<br>'||htf.FORMTEXT('p_af_cod_projeto', 10, 11, p_af_cod_projeto, cattributes=>'colspan=4 style="width:131pt" align=right')||'&nbsp;&nbsp;'||htf.anchor('javascript:lov_projetos('''||p_uf||''')','<input type=button value=Listar class=botao_thumb onclick=lov_projetos('''||p_uf||''')>'));
    Htp.tableRowClose;
	Htp.tablerowopen;
	  Htp.tabledata('&nbsp;',cattributes => 'colspan=100%');
	Htp.tablerowclose;
	Htp.tableRowOpen;
	  Htp.p('<TD>');
        geobank.Principal.Botoes( consultar => 'javascript:verifica(document.forms[0])',
	 						      novo 	    => '''disparaLink("Afloramentos.cadastro?p_webmap='||p_webmap||'")''',
							      modulo 	=> 'afloramentos');
		BEGIN
		  SELECT cod_pr_projeto
		  INTO w_existe_projeto
		  FROM projetos.pr_cadastro_projeto
		  WHERE cod_pr_projeto = p_af_cod_projeto;
		EXCEPTION
		  WHEN NO_DATA_FOUND THEN
		    w_existe_projeto := NULL;
		END;
		IF w_existe_projeto IS NOT NULL THEN
		  Htp.p('<input type=button onclick=''disparaLink("projetos.projeto.cadastro?p_webmap='||p_webmap||'&p_cod_projeto='||p_af_cod_projeto||'")'' value=Projeto class=botao alt="Exibir o cadastro do projeto destes afloramentos" title="Exibir o cadastro do projeto destes afloramentos">');
		END IF;
	  Htp.p('</TD>');
    Htp.tableRowClose;
    Htp.formclose;
  geobank.website.fecha_tabela;--1

  v_index := 0;

  IF p_consulta = 'S' THEN
	  --O if abaixo serve para só trazer a listagem quando algum filtro tiver sido selecionado
	  IF (P_AF_COD_AFLORAMENTO IS NOT NULL OR
		  	 P_AF_TOPONIMIA IS NOT NULL OR
		  	 P_UF IS NOT NULL OR
			 P_AF_COD_PROJETO IS NOT NULL) THEN

	  IF P_UF IS NOT NULL THEN
	  	 W_SQL_UF1	 := ', BIBLIOTECAS.BB_MUNICIPIOS bbmn '; -- Caso exista o filtro de UF, deve se fazer o join com bb_municipios
		 W_SQL_UF2	 := ' AND bbmn.cod_municipio = cl.COD_MUNICIPIO '; -- Esta	 é a condição do join
	     W_SQL_UF2   := W_SQL_UF2 || ' AND bbmn.UF = '''||P_UF||''''; -- Este é o filtro por estado
	  END IF;

	  IF p_af_municipio IS NOT NULL THEN
		W_SQL_MUNICIPIO := ' AND cl.COD_MUNICIPIO = '||p_af_municipio;
	  END IF;

	  IF p_af_cod_projeto IS NOT NULL THEN
		W_SQL_PROJETO := ' AND cl.COD_PROJETO = '||p_af_cod_projeto;
	  END IF;

	  IF P_AF_TOPONIMIA IS NOT NULL THEN
		 W_SQL_TOPONIMIA := ' AND UPPER(cl.TOPONIMIA) LIKE UPPER(''%'||P_AF_TOPONIMIA||'%'')';
	  END IF;

	  W_CLAUSULA_WHERE := '   WHERE 1=1 ';

	  W_SQL_CURSOR := ' SELECT DISTINCT TO_CHAR(REPLACE(cl.latitude,''.'','',''),''fm90D00000000'') p_n, '||
		              '                 TO_CHAR(REPLACE(cl.longitude,''.'','',''),''fm90D00000000'') p_e, '||
		              '                 cl.toponimia top, cl.cod_afloramento rec, cl.latitude, cl.longitude, ( select tr.desc_rocha
																											   from bibliotecas.bb_tipos_rocha tr,
																											  	    af_rochas rc2
																											  where rc2.cod_afloramento = rc1.cod_afloramento
																											  and tr.cod_rocha = rc2.cod_tipo_rocha
																											  and rc2.percentagem_rx_afloramento = (select distinct max(rc3.percentagem_rx_afloramento)
																												 	 								from af_rochas rc3
																																					where rc3.cod_afloramento = rc2.cod_afloramento) and rownum = 1) rocha '||
		              ' FROM AF_CADASTRO_LOCALIZACAO cl, AF_ROCHAS rc1 '||
					  W_SQL_UF1 ||
		              W_CLAUSULA_WHERE||
					  W_SQL_UF2 ||
					  W_SQL_MUNICIPIO||
		 			  W_SQL_AFLORA||
					  W_SQL_PROJETO ||
					  W_SQL_TOPONIMIA||
					  ' AND rc1.cod_afloramento(+) = cl.cod_afloramento'||
					  ' ORDER BY '||p_order;

	    EXECUTE IMMEDIATE ' SELECT COUNT( distinct cl.cod_afloramento)'||
		                  ' FROM AF_CADASTRO_LOCALIZACAO cl, AF_ROCHAS rc1 '||
						  	W_SQL_UF1 ||
	 	                    W_CLAUSULA_WHERE||
							W_SQL_UF2 ||
					  		W_SQL_MUNICIPIO||
	 		          	    W_SQL_AFLORA||
							W_SQL_PROJETO ||
	       				    W_SQL_TOPONIMIA||
					  		' AND rc1.cod_afloramento(+) = cl.cod_afloramento'
							INTO v_total;
  END IF;

  -- Fim do SQL Dinâmico --
 IF v_total > 0 THEN
  Htp.br;
  Htp.div(cattributes => 'class=pontilhada');
  Htp.br;

  geobank.website.abre_tabela('listagem');
  htp.tablerowopen;
  htp.tableheader('', cattributes=>'width=2%');

    IF p_order = 'to_number(replace(latitude,''.'', '',''))' THEN
      w_1 := 'to_number(replace(latitude,''.'', '','')) DESC';
      w_2 := 'Latitude'||htf.img('/imagens/baixo.gif', cattributes=>'border=0');
    ELSE
      w_1 := 'to_number(replace(latitude,''.'', '',''))';
      IF p_order = 'to_number(replace(latitude,''.'', '','')) DESC' THEN
        w_2 := 'Latitude'||htf.img('/imagens/cima.gif', cattributes=>'border=0');
      ELSE
        w_2 := 'Latitude';
      END IF;
    END IF;
    htp.tableheader(htf.anchor('Afloramentos.consultar'||
		                     '?p_af_cod_afloramento='||p_af_cod_afloramento||
							 '&p_uf='||p_uf||
							 '&p_af_cod_projeto='||p_af_cod_projeto||
						     '&p_af_toponimia='||p_af_toponimia||
						     '&p_botao='||p_botao||
						     '&p_pagina='||p_pagina||
							 '&p_webmap='||p_webmap||
							 '&p_consulta='||p_consulta||
						     '&p_order='||w_1,w_2), cattributes=>' width=11%');

    IF p_order = 'to_number(replace(longitude,''.'', '',''))' THEN
      w_1 := 'to_number(replace(longitude,''.'', '','')) DESC';
      w_2 := 'Longitude'||htf.img('/imagens/baixo.gif', cattributes=>'border=0');
    ELSE
      w_1 := 'to_number(replace(longitude,''.'', '',''))';
      IF p_order = 'to_number(replace(longitude,''.'', '','')) DESC' THEN
        w_2 := 'Longitude'||htf.img('/imagens/cima.gif', cattributes=>'border=0');
      ELSE
        w_2 := 'Longitude';
      END IF;
    END IF;
    htp.tableheader(htf.anchor('Afloramentos.consultar'||
		                     '?p_af_cod_afloramento='||p_af_cod_afloramento||
							 '&p_uf='||p_uf||
							 '&p_af_municipio='||p_af_municipio||
							 '&p_af_cod_projeto='||p_af_cod_projeto||
						     '&p_af_toponimia='||p_af_toponimia||
						     '&p_botao='||p_botao||
						     '&p_pagina='||p_pagina||
							 '&p_webmap='||p_webmap||
							 '&p_consulta='||p_consulta||
						     '&p_order='||w_1,w_2), cattributes=>'width=11%');

    IF p_order = 'rocha' THEN
      w_1 := 'rocha DESC';
      w_2 := 'Rocha'||htf.img('/imagens/baixo.gif', cattributes=>'border=0');
    ELSE
      w_1 := 'rocha';
      IF p_order = 'rocha DESC' THEN
        w_2 := 'Rocha'||htf.img('/imagens/cima.gif', cattributes=>'border=0');
      ELSE
        w_2 := 'Rocha';
      END IF;
    END IF;
    htp.tableheader(htf.anchor('Afloramentos.consultar'||
		                     '?p_af_cod_afloramento='||p_af_cod_afloramento||
							 '&p_uf='||p_uf||
							 '&p_af_municipio='||p_af_municipio||
							 '&p_af_cod_projeto='||p_af_cod_projeto||
						     '&p_af_toponimia='||p_af_toponimia||
						     '&p_botao='||p_botao||
						     '&p_pagina='||p_pagina||
							 '&p_webmap='||p_webmap||
							 '&p_consulta='||p_consulta||
						     '&p_order='||w_1,w_2), cattributes=>'width=10%');

    IF p_order = 'top' THEN
      w_1 := 'top DESC';
      w_2 := 'Toponímia'||htf.img('/imagens/baixo.gif', cattributes=>'border=0');
    ELSE
      w_1 := 'top';
      IF p_order = 'top DESC' THEN
        w_2 := 'Toponímia'||htf.img('/imagens/cima.gif', cattributes=>'border=0');
      ELSE
        w_2 := 'Toponímia';
      END IF;
    END IF;
    htp.tableheader(htf.anchor('Afloramentos.consultar'||
		                     '?p_af_cod_afloramento='||p_af_cod_afloramento||
							 '&p_uf='||p_uf||
							 '&p_af_municipio='||p_af_municipio||
							 '&p_af_cod_projeto='||p_af_cod_projeto||
						     '&p_af_toponimia='||p_af_toponimia||
						     '&p_botao='||p_botao||
						     '&p_pagina='||p_pagina||
							 '&p_webmap='||p_webmap||
							 '&p_consulta='||p_consulta||
						     '&p_order='||w_1,w_2), cattributes=>'width=66%');

  OPEN C_AFLORAMENTOS FOR W_SQL_CURSOR;
  LOOP
	  FETCH C_AFLORAMENTOS INTO W_LATITUDE, W_LONGITUDE, W_TOPONIMIA, W_COD_AFLORAMENTO, W_1, W_2, W_ROCHA;
      EXIT WHEN C_AFLORAMENTOS%NOTFOUND;
      v_index := v_index + 1;
      IF ((p_pagina*200) < v_index) THEN
        htp.tablerowopen;
		  htp.tabledata(htf.ANCHOR('Afloramentos.Cadastro?p_af_cod_afloramento='||W_COD_AFLORAMENTO||'&p_webmap='||p_webmap, Htf.img ('/imagens/edit.gif','top', 'Exibir cadastro do afloramento', cattributes => 'border=0')), cattributes=>'nowrap align=center');
		  htp.tabledata(w_latitude, cattributes=>'nowrap');
          htp.tabledata(w_longitude, cattributes=>'nowrap');
          htp.tabledata(w_rocha, cattributes=>'nowrap');
          htp.tabledata(htf.escape_sc(w_toponimia), cattributes=>'nowrap');
        htp.tablerowclose;
      END IF;

      IF (v_index >= 200 + p_pagina*200)  THEN
	    EXIT;
      END IF;
   htp.tablerowclose;
  END LOOP;
  geobank.website.fecha_tabela;
  END IF;

  Htp.br;

  geobank.website.abre_tabela('formulario');
   	IF v_index >= 200 + p_pagina*200 THEN
      htp.tablerowopen;
        htp.p('<TD colspan=100%>');
		IF p_pagina <> 0  THEN
  		  htp.p(htf.anchor('Afloramentos.consultar'||
		                     '?p_af_cod_afloramento='||p_af_cod_afloramento||
							 '&p_uf='||p_uf||
							 '&p_af_municipio='||p_af_municipio||
							 '&p_af_cod_projeto='||p_af_cod_projeto||
						     '&p_af_toponimia='||p_af_toponimia||
						     '&p_botao='||p_botao||
						     '&p_pagina='||TO_CHAR(p_pagina-1)||
							 '&p_order='||p_order||
							 '&p_consulta='||p_consulta||
							 '&p_webmap='||p_webmap,
						   'Página Anterior'));
		END IF;
		htp.p('Exibindo '||TO_CHAR(p_pagina*200+1)||' a '||TO_CHAR(v_index)||' de '||TO_CHAR(v_total));
  		  htp.p(htf.anchor('Afloramentos.consultar'||
		                     '?p_af_cod_afloramento='||p_af_cod_afloramento||
							 '&p_uf='||p_uf||
							 '&p_af_municipio='||p_af_municipio||
							 '&p_af_cod_projeto='||p_af_cod_projeto||
						     '&p_af_toponimia='||p_af_toponimia||
						     '&p_botao='||p_botao||
						     '&p_pagina='||TO_CHAR(p_pagina+1)||
							 '&p_order='||p_order||
							 '&p_consulta='||p_consulta||
							 '&p_webmap='||p_webmap,
						   'Página Posterior'));
        htp.p('</TD>');
      htp.tablerowclose;
    ELSE
      IF v_index = v_total THEN
        htp.tablerowopen;
        htp.p('<TD colspan=100%>');
		IF p_pagina <> 0  THEN
  		  htp.p(htf.anchor('Afloramentos.consultar'||
		                     '?p_af_cod_afloramento='||p_af_cod_afloramento||
							 '&p_uf='||p_uf||
							 '&p_af_municipio='||p_af_municipio||
							 '&p_af_cod_projeto='||p_af_cod_projeto||
						     '&p_af_toponimia='||p_af_toponimia||
						     '&p_botao='||p_botao||
						     '&p_pagina='||TO_CHAR(p_pagina-1)||
							 '&p_order='||p_order||
							 '&p_consulta='||p_consulta||
							 '&p_webmap='||p_webmap,
						   'Página Anterior'));
		END IF;
		IF V_TOTAL = 0 THEN
				htp.p('Nenhum afloramento encontrado.');
		ELSE
				htp.p('Exibindo '||TO_CHAR(p_pagina*200+1)||' a '||TO_CHAR(v_index)||' de '||TO_CHAR(v_total));
		END IF;
        htp.p('</TD>');
        htp.tablerowclose;
      END IF;
    END IF;
    geobank.website.fecha_tabela;
  END IF; -- FIM DO IF DE só LISTAR QUANDO TIVER ALGUM FILTRO

htp.p('
<SCRIPT LANGUAGE="JavaScript">
function verifica(f) {
 if ( (f.p_af_cod_afloramento.value == "") &&
 	  (f.p_af_toponimia.value == "") &&
	  (f.p_uf.value == "") &&
	  (f.p_af_cod_projeto.value == ""))
	{
	 alert("É necessário que pelo menos um filtro seja selecionado.");
	 return;
	 }
 if (isNotNumber(f.p_af_cod_projeto))
   return;
 f.p_consulta.value = "S";
 f.submit();
}

function lov_projetos(p_uf){
  w = open("aflora.afloramentos.list_projetos_consulta?p_uf="+p_uf, "projlov", "Scrollbars=1,resizable=0,status=1,width=800,height=400")
  if (w.opener == null) w.opener = self;
    w.focus();
}
</SCRIPT>');
  geobank.website.codigo_rodape(p_webmap);
EXCEPTION
  WHEN OTHERS THEN
    Htp.p(SQLERRM);
END;
Tineks
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 365
Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP

E ai Fabio, beleza???

você poderia postar o código da tela 2, pois é nela q tem o código do botao voltar.

[]'s
Fábio Neves
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Ter, 06 Nov 2007 9:35 am
Localização: Salvador - Ba

Tela 2

Selecionar tudo

PROCEDURE Cadastro (p_webmap                         VARCHAR2 DEFAULT 'S',
                    p_comando                     IN VARCHAR2 DEFAULT NULL,
					p_botao                       IN VARCHAR2 DEFAULT NULL,
                    p_af_cod_afloramento       	  IN VARCHAR2 DEFAULT NULL,
                    p_af_aflo_campo          	  IN VARCHAR2 DEFAULT NULL,
                    p_af_stnorte                  IN VARCHAR2 DEFAULT NULL,
                    p_af_datum                    IN VARCHAR2 DEFAULT NULL,
                    p_af_toponimia 				  IN VARCHAR2 DEFAULT NULL,
                    p_af_cod_metodo_geopos        IN VARCHAR2 DEFAULT NULL,
                    p_af_erro_locac  			  IN VARCHAR2 DEFAULT NULL,
                    p_af_data_cadastro            IN VARCHAR2 DEFAULT NULL,
                    p_af_uf          			  IN VARCHAR2 DEFAULT NULL,
                    p_af_municipio          	  IN VARCHAR2 DEFAULT NULL,
					p_af_altitude                 IN NUMBER   DEFAULT NULL,
                    p_af_latitude                 IN VARCHAR2 DEFAULT NULL,
                    p_af_longitude                IN VARCHAR2 DEFAULT NULL,
					p_af_cod_tipo_aflora		  IN NUMBER   DEFAULT NULL,
					p_af_cod_centro_custo         IN NUMBER   DEFAULT NULL,
                    p_af_dimensao                 IN VARCHAR2 DEFAULT NULL,
					p_af_cod_geologo              IN VARCHAR2 DEFAULT NULL,
					p_af_notas                    IN CLOB 	  DEFAULT EMPTY_CLOB,
					p_af_cod_folha                IN NUMBER   DEFAULT NULL,
					p_af_cod_internacional        IN VARCHAR2 DEFAULT NULL,
					p_af_cod_projeto              IN NUMBER   DEFAULT NULL,
					p_af_projeto				  IN VARCHAR2 DEFAULT NULL,
					p_af_des_centro_custo         IN VARCHAR2 DEFAULT NULL) IS

   v_af_cod_afloramento         VARCHAR2(255);
   v_af_aflo_campo              VARCHAR2(255);
   v_af_latitude                VARCHAR2(255);
   v_af_longitude               VARCHAR2(255);
   v_af_stnorte                 VARCHAR2(255);
   v_af_datum                   VARCHAR2(255);
   v_af_toponimia 				VARCHAR2(255);
   v_af_cod_metodo_geopos 		VARCHAR2(255);
   v_af_erro_locac              VARCHAR2(255);
   v_af_data_cadastro 			VARCHAR2(255);
   v_af_municipio       		VARCHAR2(255);
   v_af_altitude                NUMBER;
   v_af_cod_tipo_aflora		    NUMBER;
   v_af_cod_centro_custo        NUMBER;
   v_af_dimensao                VARCHAR2(255);
   v_af_cod_geologo             VARCHAR2(255);
   v_af_notas                   CLOB;
   v_af_uf 						VARCHAR2(255);
   v_af_cod_folha               NUMBER;
   v_af_cod_internacional       VARCHAR2(255);
   v_uf  						VARCHAR2(255);
   v_uf_des						VARCHAR2(255);
   v_af_cod_projeto             NUMBER;
   v_af_projeto					VARCHAR2(255);
   v_af_sureg 					VARCHAR2(255);
   v_af_des_centro_custo		VARCHAR2(255);

   CURSOR c_BB_Datum IS
     SELECT COD_Datum Cod,
            Datum Situacao
	   FROM bibliotecas.BB_DATUM
   ORDER BY Situacao;

   CURSOR c_BB_Metodo_GeoPos IS
     SELECT COD_METODO_GEOPOS,
            METODO_GEOPOS,
            ORDEM_GRAND_ERRO_LOCAC
	   FROM bibliotecas.BB_METODO_GEOPOS
   ORDER BY METODO_GEOPOS;

  v_comando    VARCHAR2 (255);
  v_index      INTEGER;
  v_Selecao    VARCHAR2(30000);
  v_Selecao2   VARCHAR2(30000);
  v_Selecao3   VARCHAR2(30000);
  v_des_sureg  VARCHAR2(100);
  v_cod_aflora AF_CADASTRO_LOCALIZACAO.cod_afloramento%TYPE;
  v_precisao_lati NUMBER;
  v_precisao_long NUMBER;
  v_cod_recmin	  NUMBER;
  v_origem		  NUMBER;
  v_user		  VARCHAR2(50);
BEGIN
  SELECT USER
  INTO V_USER
  FROM DUAL;

 /*
    Código desenvolvido a pedido de João Henrique por Jakeline Laranjeira em 22/08/2006
    para buscar o código do afloramento pela latitude e longitude para que seja feito
	o link com o ArcExibe.
 */
 
 IF p_af_cod_afloramento IS NOT NULL THEN
   BEGIN

     SELECT afcl.cod_afloramento
       INTO v_cod_aflora
	   FROM aflora.AF_CADASTRO_LOCALIZACAO afcl
	  WHERE afcl.cod_afloramento = p_af_cod_afloramento;
   EXCEPTION
     WHEN NO_DATA_FOUND THEN
       BEGIN
	     v_precisao_lati := LENGTH(SUBSTR(p_af_latitude, INSTR(p_af_latitude, '.') + 1, LENGTH(p_af_latitude)));
	     v_precisao_long := LENGTH(SUBSTR(p_af_longitude, INSTR(p_af_longitude, '.') + 1, LENGTH(p_af_longitude)));
		 SELECT afcl.COD_AFLORAMENTO
	       INTO v_cod_aflora
	       FROM aflora.AF_CADASTRO_LOCALIZACAO afcl
          WHERE ROUND(TO_NUMBER(REPLACE(afcl.LATITUDE,'.',',')), v_precisao_lati) = TO_NUMBER(REPLACE(p_af_latitude,'.',','))
            AND ROUND(TO_NUMBER(REPLACE(afcl.LONGITUDE,'.',',')), v_precisao_long) = TO_NUMBER(REPLACE(p_af_longitude,'.',','));
       EXCEPTION
	     WHEN NO_DATA_FOUND THEN
	       BEGIN
			 SELECT afcl.cod_afloramento
		       INTO v_cod_aflora
		       FROM aflora.AF_CADASTRO_LOCALIZACAO afcl
	          WHERE TRUNC(TO_NUMBER(REPLACE(afcl.LATITUDE,'.',',')), v_precisao_lati) = TO_NUMBER(REPLACE(p_af_latitude,'.',','))
	            AND TRUNC(TO_NUMBER(REPLACE(afcl.LONGITUDE,'.',',')), v_precisao_long) = TO_NUMBER(REPLACE(p_af_longitude,'.',','));
	       EXCEPTION
		     WHEN NO_DATA_FOUND THEN
	           v_cod_aflora := NULL;
		   END;
	   END;
   END;
 END IF;

 BEGIN
  v_af_cod_afloramento := v_cod_aflora;

  IF p_comando = 'recarrega' THEN
    v_comando                     := p_botao;
	v_af_aflo_campo				  := p_af_aflo_campo;
    v_af_stnorte                  := p_af_stnorte;
    v_af_datum                    := p_af_datum;
    v_af_toponimia                := p_af_toponimia;
    v_af_cod_metodo_geopos        := p_af_cod_metodo_geopos;
    v_af_erro_locac               := p_af_erro_locac;
    v_af_data_cadastro            := p_af_data_cadastro;
    v_af_uf                       := p_af_uf;
    v_af_municipio                := p_af_municipio;
	v_af_altitude                 := p_af_altitude;
    v_af_latitude                 := p_af_latitude;
    v_af_longitude                := p_af_longitude;
	v_af_cod_tipo_aflora		  := p_af_cod_tipo_aflora;
	v_af_cod_centro_custo         := p_af_cod_centro_custo;
    v_af_dimensao                 := p_af_dimensao;
	v_af_cod_geologo              := p_af_cod_geologo;
	v_af_notas                    := p_af_notas;
    v_af_cod_folha                := p_af_cod_folha;
    v_af_cod_internacional        := p_af_cod_internacional;
    v_af_cod_projeto              := p_af_cod_projeto;
    v_af_projeto                  := p_af_projeto;
    v_af_des_centro_custo         := p_af_des_centro_custo;

	IF p_af_cod_metodo_geopos IS NOT NULL THEN
        SELECT bbmg.ordem_grand_erro_locac
          INTO v_af_erro_locac
          FROM bibliotecas.BB_METODO_GEOPOS bbmg
         WHERE bbmg.cod_metodo_geopos = p_af_cod_metodo_geopos;
	ELSE
       v_af_erro_locac := '';
	END IF;

  ELSE
    IF v_af_cod_afloramento IS NULL THEN -- Incluir.
       v_comando := 'Incluir';
       SELECT TO_CHAR(SYSDATE,'DD/MM/YYYY')
	     INTO v_af_data_cadastro
		 FROM dual;
	ELSE 		 		 	             -- Consultar.
	   v_comando := 'Salvar';
		 SELECT afcl.cod_afloramento,
		 		afcl.aflo_campo,
		        REPLACE(afcl.latitude, '.', ',') latitude,
			    REPLACE(afcl.longitude, '.', ',') longitude,
			    afcl.stnorte,
			    afcl.cod_datum,
		  	    afcl.cod_metodo_geopos,
				bbmg.ordem_grand_erro_locac,
			    afcl.altitude_m,
			    afcl.toponimia,
				afcl.cod_folha,
				afcl.cod_projeto,
				prcp.projeto,
			    bbba.cod_internacional,
			    afcl.cod_municipio,
			    afcl.cod_geologo,
			    TO_CHAR(afcl.data_cadastro,'dd/mm/yyyy'),
			    bbcc.centro_de_custo,
			    bbcc.cod_centro_custo,
			    afcl.dimensao_m,
			    afcl.cod_tipo_afloramento,
				afcl.notas,
				bbsu.sureg,
				bbmu.uf,
				bbcc.descricao
           INTO v_af_cod_afloramento,
		   		v_af_aflo_campo,
                v_af_latitude,
                v_af_longitude,
                v_af_stnorte,
                v_af_datum,
                v_af_cod_metodo_geopos,
                v_af_erro_locac,
                v_af_altitude,
                v_af_toponimia,
				v_af_cod_folha,
				v_af_cod_projeto,
				v_af_projeto,
				v_af_cod_internacional,
				v_af_municipio,
				v_af_cod_geologo,
                v_af_data_cadastro,
				v_af_des_centro_custo,
				v_af_cod_centro_custo,
				v_af_dimensao,
			    v_af_cod_tipo_aflora,
				v_af_notas,
				v_des_sureg,
				v_af_uf,
				v_af_des_centro_custo
		   FROM AF_CADASTRO_LOCALIZACAO afcl,
		        bibliotecas.bb_metodo_geopos bbmg,
                bibliotecas.bb_municipios bbmu,
				bibliotecas.bb_centro_custo bbcc,
				bibliotecas.bb_sureg bbsu,
				projetos.pr_cadastro_projeto prcp,
				bibliotecas.bb_base_cartografica bbba
		  WHERE afcl.cod_afloramento     = v_af_cod_afloramento
            AND afcl.cod_metodo_geopos   = bbmg.cod_metodo_geopos (+)
            AND afcl.cod_municipio       = bbmu.cod_municipio (+)
			AND afcl.cod_sureg           = bbsu.cod (+)
			AND afcl.cod_projeto 		 = prcp.cod_pr_projeto (+)
			AND prcp.cod_centro_custo = bbcc.cod_centro_custo (+)
			AND afcl.cod_folha           = bbba.cod_folha (+);
    END IF;
  END IF;
 EXCEPTION WHEN OTHERS THEN
   Htp.p(SQLERRM);
 END;

  geobank.website.codigo_topo(p_webmap);
  IF NOT geobank.Principal.Cabecalho ('Afloramentos','Afloramentos',15)  THEN
	RETURN;
  END IF;

  htp.br;

  geobank.website.abre_caixa('95%');
    Htp.formOpen('Afloramentos.gravar', 'GET', cattributes=>'name = "atividades"');
    Htp.FormHidden('p_botao', 'Salvar');
	Htp.FormHidden('p_webmap', p_webmap);
    HTP.FormHidden('p_comando', v_comando);
    HTP.FormHidden('p_af_cod_afloramento', v_af_cod_afloramento);
    Htp.tableRowOpen;
	  Htp.tableHeader('Posição em coordenadas', cattributes=>'colspan=100%');
    Htp.tableRowClose;
    Htp.tableRowOpen;
      Htp.tableData('Código<br>
	                 <INPUT TYPE=TEXT NAME=p_af_cod_afloramento value="'||v_af_cod_afloramento||'" disabled maxlenght=11 class=dtitulo1 style="width:95pt">', cattributes=>'width=25%');


	  v_Selecao := 'Datum*<br><SELECT NAME=p_af_datum  class=titulo1 style="width:100pt">';
	  v_Selecao:= v_Selecao||'<OPTION value="" selected></OPTION>';
	  FOR r_BB_Datum IN c_BB_Datum LOOP
        IF r_BB_Datum.Cod = v_af_datum THEN
		  v_Selecao:= v_Selecao||'<OPTION value="'||r_BB_Datum.Cod||'" selected>'||r_BB_Datum.Situacao ||'</OPTION>';
		ELSE
		  v_Selecao:= v_Selecao||'<OPTION value="'||r_BB_Datum.Cod||'">'||r_BB_Datum.Situacao||'</OPTION>';
		END IF;
	  END LOOP;
	  v_Selecao := v_Selecao||'</SELECT>';
	  Htp.p('<TD width=75% colspan=3>');
	    Htp.p(v_Selecao);
  	    IF v_af_stnorte = 1 THEN
          Htp.p('&nbsp;&nbsp;<INPUT TYPE=checkbox NAME=p_af_stnorte VALUE=1 CHECKED>&nbsp;Hemisfério Norte');
  	    ELSE
          Htp.p('&nbsp;&nbsp;<INPUT TYPE=checkbox NAME=p_af_stnorte VALUE=1>&nbsp;Hemisfério Norte');
  	    END IF;
	  Htp.p('</TD>');
   Htp.tableRowClose;

   Htp.tableRowOpen;
     Htp.tableData('Latitude*<br><INPUT TYPE=TEXT NAME=p_af_latitude VALUE="'||v_af_latitude||'" class=titulo1 style="width:95pt">');
     Htp.tableData('Longitude*<br><INPUT TYPE=TEXT NAME=p_af_longitude VALUE="'||v_af_longitude||'" class=titulo1 style="width:95pt">', cattributes=>'colspan=3');
   Htp.tableRowClose;

   Htp.tableRowOpen;
	 Htp.tableData('Altitude (Mts)<br><INPUT TYPE=TEXT NAME=p_af_altitude VALUE="'||v_af_altitude||'" class=titulo1 style="width:95pt">', cattributes=>'nowrap');
	 Htp.p('<TD colspan=3>');
	   Htp.p('Folha<br><INPUT TYPE=TEXT NAME=p_af_cod_internacional VALUE="'||v_af_cod_internacional||'" disabled class=titulo1 style="width:95pt">');
	   geobank.Principal.Botoes( alterar_t => 'lov_folhas()',
							     modulo    => 'afloramentos');
	Htp.p('</TD>');
	 Htp.formHidden('p_af_cod_folha',v_af_cod_folha);
   Htp.tableRowClose;

   Htp.tableRowOpen;
     Htp.tableData('Nº de Campo<br><INPUT TYPE=TEXT NAME=p_af_aflo_campo VALUE="'||v_af_aflo_campo||'" class=titulo1 style="text-transform:uppercase;width:95pt">', cattributes=>'colspan=100%');
   Htp.tableRowClose;

   -- Gustavo em 16/03/2007: Acrescendo Projeto que agora esta ligado a Afloramento
   Htp.tableRowOpen;
	 Htp.p('<TD colspan=4>');
	   Htp.p('Projeto*<br><textarea NAME=p_af_projeto  disabled ROWS=3 class=titulo1 style="width:362pt">'||v_af_projeto||'</textarea>');
	   geobank.Principal.Botoes( alterar_t => 'lov_projetos()',
							     modulo    => 'afloramentos');
	Htp.p('</TD>');
   Htp.formHidden('p_af_cod_projeto',v_af_cod_projeto);
   Htp.tableRowClose;
   geobank.website.fecha_caixa;

   htp.br;

   geobank.website.abre_caixa('95%');
     Htp.tableRowOpen;
	   Htp.tableHeader('Dados adicionais', cattributes=>'colspan=100%');
     Htp.tableRowClose;
     Htp.tableRowOpen;
       Htp.p('<TD width=10%">');
         Htp.p('UF<br>');
	     Htp.formSelectOpen('p_af_UF', cattributes => ' onchange="recarrega()" class=titulo1 style="width:50pt"');
	       Htp.p('<OPTION value=""></OPTION>');
	       geobank.Principal.ComboBox('COD_UF','COD_UF',v_af_UF,'bibliotecas.BB_UF',NULL,'2',NULL);
	  	 Htp.formSelectClose;
	   Htp.p('</TD>');
	   Htp.p('<TD width=35%>');
       	 Htp.p('Município<br>');
         Htp.formSelectOpen('p_af_MUNICIPIO', cattributes=>'class=titulo1 style="width:200pt"');
         Htp.p('<OPTION value=""></OPTION>');
         geobank.Principal.ComboBox('COD_MUNICIPIO', 'MUNICIPIO',v_af_MUNICIPIO,
	     							   'bibliotecas.BB_MUNICIPIOS','UF = '''||v_af_uf||'''','2',NULL);
  	     Htp.formSelectClose;
       Htp.p('</TD>');
	   Htp.tableData('&nbsp;Data de cadastro*<br>
	                  &nbsp;<INPUT TYPE=TEXT NAME=p_af_data_cadastro VALUE="'||v_af_data_cadastro||'" class=titulo1 ONKEYPRESS="testa_mascara(this,''99/99/9999'')" style="width:80pt">', cattributes=>'width=55%');
	Htp.tableRowClose;
   geobank.website.fecha_caixa;

   htp.br;
   htp.p('<div class=pontilhada></div>');
   htp.br;

    geobank.website.abre_tabela('formulario');
    Htp.tableRowOpen;
      Htp.tableData('Dimensão<br>
	                 <INPUT TYPE=TEXT NAME=p_af_dimensao VALUE="'||v_af_dimensao||'" style="width:80pt" maxlength=6 class=dtitulo1>', cattributes=>'');
    Htp.tableRowClose;

	Htp.tableRowOpen;
      Htp.tableData('Toponímia*<br>
	                 <TEXTAREA NAME=p_af_toponimia  rows=3 maxlength=180 style="width:371pt" class=titulo1>'||v_af_toponimia||'</TEXTAREA>', cattributes=>'width=100%');
    Htp.tableRowClose;

    Htp.tableRowOpen;
      v_Selecao := '<SELECT NAME=p_af_cod_metodo_geopos onChange="recarrega()" style="width:257pt"  class=titulo1>';
      v_Selecao:= v_Selecao||'<option value="" selected></option>';
      FOR r_BB_Metodo_GeoPos IN c_BB_Metodo_GeoPos LOOP
     	IF r_BB_Metodo_GeoPos.Cod_Metodo_GeoPos = v_af_cod_metodo_geopos THEN
	      v_Selecao:= v_Selecao||'<option value="'||r_BB_Metodo_GeoPos.Cod_Metodo_GeoPos||'" selected>'||r_BB_Metodo_GeoPos.Metodo_GeoPos ||'</option>';
		ELSE
          v_Selecao:= v_Selecao||'<option value="'||r_BB_Metodo_GeoPos.Cod_Metodo_GeoPos||'">'||r_BB_Metodo_GeoPos.Metodo_GeoPos||'</option>';
		END IF;
	  END LOOP;
      v_Selecao := v_Selecao||'</select>';
      Htp.tableData('Método de geoposicionamento*<br>'||v_Selecao, cattributes=>'class=titulo1');
    Htp.tableRowClose;

    Htp.tableRowOpen;
      Htp.tableData('Erro locacional teórico, associado<br>
	                 <INPUT TYPE=TEXT NAME=p_af_erro_locac VALUE="'||v_af_erro_locac||'" style="width:253pt" maxlength=180 disabled class=dtitulo1>', cattributes=>'');
    Htp.tableRowClose;

    Htp.tableRowOpen;
      Htp.tableData('Centro de custo<br>
	                 <INPUT TYPE=TEXT NAME=p_af_des_centro_custo VALUE="'||v_af_des_centro_custo||'" maxlength=150 style="width:80pt" disabled class=dtitulo1>', cattributes=>'');
      Htp.FORMHIDDEN('p_af_cod_centro_custo',v_af_cod_centro_custo);
    Htp.tableRowClose;

    Htp.tableRowOpen;
      Htp.p('<td>Tipo do afloramento*<br>');
        htp.formSelectOpen('p_af_cod_tipo_aflora', cattributes => 'class=titulo1 style="width:257pt"');
          htp.p('<option value=""></option>');
          geobank.Principal.ComboBox('COD_TIPO_AFLORAMENTO','DES_TIPO_AFLORAMENTO',v_af_cod_tipo_aflora,
	     							 'AF_BB_TIPO_AFLORAMENTO',NULL,'2',NULL);
        htp.formSelectClose;
	  Htp.p('</td>');
    Htp.tableRowClose;

    Htp.tableRowOpen;
      Htp.p('<td>Geólogo*<br>');
        htp.formSelectOpen('p_af_cod_geologo', cattributes => 'class=titulo1 style="width:257pt"');
          htp.p('<option value=""></option>');
          geobank.Principal.ComboBox('COD_GEOLOGO','NOME',v_af_cod_geologo,
	     							 'bibliotecas.BB_GEOLOGO',NULL,'2',NULL);
        htp.formSelectClose;
      htp.p('</TD>');
    Htp.tableRowClose;

    Htp.tableRowOpen;
      Htp.tableData('Notas<br>
		             <TEXTAREA ROWS=5 NAME="p_af_notas" style="width:371pt" class=titulo1>'||v_af_notas||'</TEXTAREA>');
    Htp.tableRowClose;
    geobank.website.fecha_tabela;

	htp.br;

	geobank.website.abre_tabela('formulario');
    IF v_af_cod_afloramento IS NULL OR p_botao = 'Incluir' THEN -- Incluir.
	  Htp.p('<TD>');
	    geobank.Principal.Botoes( salvar => 'salvar()',
								  voltar => '''disparaLink("aflora.afloramentos.consultar?p_webmap=N")''',
								  modulo => 'afloramentos');
	  Htp.p('</TD>');
    ELSE
	  Htp.p('<TD>');
	    geobank.Principal.Botoes( salvar => 'salvar()',
		                          novo   => '''disparaLink("Afloramentos.Cadastro?p_webmap='||p_webmap||'")''',
		                          excluir_t => '''disparaLink("Afloramentos.gravar?p_af_cod_afloramento='||p_af_cod_afloramento||
	                                                                             '&p_webmap='||p_webmap||
	                                                   							 '&p_botao=Excluir")''',
								  voltar => '''disparaLink("aflora.afloramentos.consultar?p_webmap=N")''',
							      modulo => 'afloramentos');
	  Htp.p('</TD>');
    END IF;

	Htp.p('
	<script>
	  function salvar() {
		if(verifica(document.forms[0]))
		  botao_Salvar();
	  }
	  function excluir() {
		if(verifica(document.forms[0]))
		  botao_Excluir();
	  }
	</script>');
  Htp.formClose;
  geobank.website.fecha_tabela;

  Htp.br;

  BEGIN
    SELECT cod_rec_min, cod_prov_rminerais
	INTO v_cod_recmin, v_origem
	FROM recmin.rm_recursosminerais
	WHERE cod_aflo = v_af_cod_afloramento;
  EXCEPTION
    WHEN OTHERS THEN
	  NULL;
  END;

  geobank.website.abre_tabela('formulario');
    Htp.tableRowOpen;
	  Htp.p('<TD>');
      IF v_af_cod_afloramento IS NOT NULL THEN
		htp.p('<input class=botao type=button value=Rochas onclick=''disparaLink("Afloramentos_Rochas.Consultar?p_af_cod_afloramento='||v_af_cod_afloramento||'&p_af_toponimia='||v_af_toponimia||'&p_webmap='||p_webmap||'")''>');
		htp.p('<input class=botao type=button value=Ilustrações onclick=''disparaLink("Afloramentos_Ilustracoes.Consultar?p_cod_afloramento='||v_af_cod_afloramento||'&p_webmap='||p_webmap||'")''>');
		htp.p('<input class=botao type=button value=Estruturas onclick=''disparaLink("Afloramentos_Estrutural.Consultar?p_cod_afloramento='||v_af_cod_afloramento||'&p_webmap='||p_webmap||'")''>');
		htp.p('<input class=botao type=button value=Projeto onclick=''disparaLink("Projetos.Projeto.Cadastro?p_cod_projeto='|| v_af_cod_projeto||'&p_webmap='||p_webmap||'")''>');
		IF v_cod_recmin IS NOT NULL THEN
		  htp.p('<input class=botao type=button value="Recurso Mineral" onclick=''disparaLink("recmin.RecursosMinerais.Cadastro?p_af_cod_afloramento='||v_af_cod_afloramento||'&p_rec_min='||v_cod_recmin||'&p_rm_origem='||v_origem||'&p_webmap='||p_webmap||'")''>');
		ELSE
		  htp.p('<input class=botao type=button value="Novo Recurso Mineral" onclick=''disparaLink("recmin.RecursosMinerais.Cadastro?p_af_cod_afloramento='||v_af_cod_afloramento||'&p_comando=Incluir'||'&p_rm_origem='||v_origem||'&p_webmap='||p_webmap||'")''>');
		END IF;
	  END IF;
      Htp.p('</TD>');
	Htp.tableRowClose;
  geobank.website.fecha_tabela;


htp.p('
<SCRIPT LANGUAGE="JavaScript">
function verifica(f){
    if (isNull(f.p_af_datum))             { return false; }
    if (isNull(f.p_af_latitude))          { return false; }
    if (isNull(f.p_af_longitude))		  { return false; }
	if (isNull(f.p_af_cod_projeto))	  	  { return false; } //Gustavo em 16/03/2007: este campo foi inserido e sera obrigatorio
    if (isNull(f.p_af_data_cadastro))     { return false; }
    if (isNotReal(f.p_af_dimensao))	      { return false; }
	if (isNull(f.p_af_toponimia)) 	      { return false; }
    if (isNull(f.p_af_cod_metodo_geopos)) { return false; }
    if (isNull(f.p_af_cod_centro_custo))  { return false; }
    if (isNull(f.p_af_cod_tipo_aflora))   { return false; }
    if (isNull(f.p_af_cod_geologo)) 	  { return false; }
	return true;
}

function lov_folhas(){
  w = open("aflora.afloramentos.list_folhas", "folhlov", "Scrollbars=1,resizable=0,width=800,height=400")
  if (w.opener == null) w.opener = self;
    w.focus();
}

function lov_projetos(){
  w = open("aflora.afloramentos.list_projetos", "projlov", "Scrollbars=1,resizable=0,status=0,width=800,height=400")
  if (w.opener == null) w.opener = self;
    w.focus();
}
</SCRIPT>
');


  geobank.website.codigo_rodape(p_webmap);
  EXCEPTION
  		   WHEN OTHERS THEN
  		   HTP.P(SQLERRM);

END Cadastro;
Tineks
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 365
Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP

Fabio,

na tela 2 você vai precisar mexer nesse ponto aqui.

Selecionar tudo

   geobank.website.abre_tabela('formulario'); 
    IF v_af_cod_afloramento IS NULL OR p_botao = 'Incluir' THEN -- Incluir. 
     Htp.p('<TD>'); 
       geobank.Principal.Botoes( salvar => 'salvar()', 
                          voltar => '''disparaLink("aflora.afloramentos.consultar?p_webmap=N")''', 
                          modulo => 'afloramentos'); 
     Htp.p('</TD>'); 
    ELSE 
     Htp.p('<TD>'); 
       geobank.Principal.Botoes( salvar => 'salvar()', 
                                novo   => '''disparaLink("Afloramentos.Cadastro?p_webmap='||p_webmap||'")''', 
                                excluir_t => '''disparaLink("Afloramentos.gravar?p_af_cod_afloramento='||p_af_cod_afloramento|| 
                                                                                '&p_webmap='||p_webmap|| 
                                                                            '&p_botao=Excluir")''', 
                          voltar => '''disparaLink("aflora.afloramentos.consultar?p_webmap=N")''', 
                           modulo => 'afloramentos'); 
     Htp.p('</TD>'); 
    END IF; 
pra ser mais exato nas linhas.

Selecionar tudo

voltar => '''disparaLink("aflora.afloramentos.consultar?p_webmap=N")'''
faça um teste trocando o enderco "aflora.afloramentos.consultar?p_webmap=N" por
"<script>history.back();</script>"
ou por
"history.back();".

[]'s
Fábio Neves
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Ter, 06 Nov 2007 9:35 am
Localização: Salvador - Ba

Infelizmente isso não funciona p/mim porque não só tenho 2 páginas...tenho outras depois da 2ª que o cara pode ir seguindo e depois desiste querendo voltar...então se eu uso o history.back ele fica preso por exemplo ... se ele está na página 2ª e vai para 3ª, lá tem tb um VOLTAR, aí ele volta para a 2ª mas o VOLTAR da 2ª leva ele de volta para a 3ª e não para a 1ª como eu queria entende?
Tineks
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 365
Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP

E ai Fabio, beleza??

esse esquema do history.back() só serve no caso de uma pagina onde você não consegue avançar pra outra, nesse caso não tem jeito de utilizar isso,
bem, nesse caso você poderá estar incrementando o link que você está chamando.
por exemplo,

Selecionar tudo

disparaLink("aflora.afloramentos.consultar?p_webmap=N")
no caso acima o unico parametro que você informa é o p_webmap, nesse caso você poderia estar criando mais parametros nesse chamada, por exemplo,

Selecionar tudo

       geobank.Principal.Botoes( salvar => 'salvar()', 
                                 voltar => '''disparaLink("aflora.afloramentos.consultar?p_webmap=N[b]&p_af_cod_afloramento='||p_af_cod_afloramento||'&p_uf='||p_uf||'"&p_af_municipio='||p_af_municipio||'[/b])''', 
                                 modulo => 'afloramentos'); 
o q você vai precisar ver é se os parametros da procedure Consultar

Selecionar tudo

p_webmap                 VARCHAR2 DEFAULT 'S', 
p_af_cod_afloramento     VARCHAR2 DEFAULT NULL, 
p_uf                     VARCHAR2 DEFAULT NULL, 
p_af_municipio           VARCHAR2 DEFAULT NULL, 
p_af_cod_projeto         VARCHAR2 DEFAULT NULL, 
p_af_projeto             VARCHAR2 DEFAULT NULL, 
p_af_toponimia           VARCHAR2 DEFAULT NULL, 
p_botao              IN  VARCHAR2 DEFAULT NULL, 
p_pagina             IN  NUMBER   DEFAULT 0, 
p_order              IN  VARCHAR2 DEFAULT 'top', 
p_comando            IN  VARCHAR2 DEFAULT NULL, 
p_consulta           IN  CHAR     DEFAULT 'N'
estão sendo refenciados dentro do seu formulario,
abaixo segue um exemplo correto do seu código, podemos ver q ele cria um campo TEXT, e o valor desse campo é o valor do parametro

Selecionar tudo

htp.tabledata('código do projeto<br>'||
              htf.formtext('p_af_cod_projeto', 10, 11, [b]p_af_cod_projeto[/b], cattributes=>'colspan=4 style="width:131pt" align=right')||
              '&nbsp;&nbsp;'||
              htf.anchor('javascript:lov_projetos('''||p_uf||''')','<input type=button value=listar class=botao_thumb onclick=lov_projetos('''||p_uf||''')>'));
não verifiquei todo o código, mas imagino que você não tenha muito trabalho,
qualquer duvida é só perguntar..

[]'s
Responder
  • Informação
  • Quem está online

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