Gerar txt

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
EUMAGNUN
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 12
Registrado em: Ter, 11 Dez 2007 1:08 pm
Localização: são PAULO -SP

Boa tarde!
Preciso gerar no forms um arquivo em txt apartir de uma procedure. alguém pode me dar um help?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Seria através do FORMS ou, através de objeto de banco (procedure) ?
Porque são formas distintas de se realizar a geração.

Procure também por "TXT" aqui no fórum que irá achar tópicos interessantes.

qualquer coisa, manda ai.
EUMAGNUN
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 12
Registrado em: Ter, 11 Dez 2007 1:08 pm
Localização: são PAULO -SP

é pelo forms...eu tenho uma procedure que realiza uma select , e o resultado dessa select eu quero jogar num txt.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Essa proc abaixo, tirei as coisas do negócio aqui e, deixei o básico pra você ter uma noção e montar a tua, beleza?

Selecionar tudo

PROCEDURE PRC_GERA_ARQUIVO IS
 -- Arquivos
 ARQ           TEXT_IO.FILE_TYPE;
 LINHA         VARCHAR2(4000);
 -- Mensagens 
 V_MSG_STATUS  VARCHAR2(200):= ' Aguarde... Processando arquivo... ';
 V_BOTAO       VARCHAR2(01);
 V_PONTO       VARCHAR2(1000);
 V_CONTADOR    NUMBER := 0;
 
 
BEGIN
 -- Início Gravação
  ARQ   := TEXT_IO.FOPEN (:PARAMETROS.NM_ARQUIVO_LEITURA ,'W');
  -- Imprime linhas dinâmicas no arquivo

  OPEN CUR_REGISTRO_ZERO(V_NRO_PESSOA);
  FETCH CUR_REGISTRO_ZERO INTO LINHA;
  CLOSE CUR_REGISTRO_ZERO;
  
  -- faça teu loop aqui...
  	
  FOR X IN TEU_CURSOR
  LOOP 	
    TEXT_IO.PUT_LINE (ARQ, X.TEU_CAMPO);
  END LOOP;
  
  -- Finaliza gravação
  TEXT_IO.FCLOSE(ARQ);
	SET_APPLICATION_PROPERTY (CURSOR_STYLE,'DEFAULT');  
	:PARAMETROS.TXT_STATUS := ' Arquivo ('||:PARAMETROS.NM_ARQUIVO_LEITURA||') gerado com sucesso! ';	
  SET_ITEM_PROPERTY('PARAMETROS.PB_ARQUIVO', ENABLED, PROPERTY_TRUE);  
  SET_ITEM_PROPERTY('PARAMETROS.PB_CONSULTA', ENABLED, PROPERTY_TRUE);	

EXCEPTION  
WHEN OTHERS THEN 
	  SET_APPLICATION_PROPERTY (CURSOR_STYLE,'DEFAULT');
    SET_ITEM_PROPERTY('PARAMETROS.PB_ARQUIVO', ENABLED, PROPERTY_TRUE);  
    SET_ITEM_PROPERTY('PARAMETROS.PB_CONSULTA', ENABLED, PROPERTY_TRUE);
	  :PARAMETROS.TXT_STATUS := ' Erro no processamento. Arquivo não gerado. ';
	  SYNCHRONIZE;        
    TEXT_IO.FCLOSE(ARQ);	    	

END;
EUMAGNUN
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 12
Registrado em: Ter, 11 Dez 2007 1:08 pm
Localização: são PAULO -SP

Mas so uma coisa... onde eu especifico o diretorio onde o arquivo vai ser gerado?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

No meu caso, brother...
Eu preencho essa informação na tela, no campo:

Selecionar tudo

:PARAMETROS.NM_ARQUIVO_LEITURA 
Neste trecho:

Selecionar tudo

 -- Início Gravação 
  ARQ   := TEXT_IO.FOPEN (:PARAMETROS.NM_ARQUIVO_LEITURA ,'W'); 
EUMAGNUN
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 12
Registrado em: Ter, 11 Dez 2007 1:08 pm
Localização: são PAULO -SP

Valeu trevisolli!
Responder
  • Informação
  • Quem está online

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