Passando Parametro para arquivo

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
marcelo0906
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 34
Registrado em: Qua, 02 Set 2009 3:29 pm
Localização: São José - SC

Boa tarde Pessoal!!

Estou iniciando em Forms e surgiu um problema aqui.

tenho uma tela que será informado uma data ex.: '31/10/2009'

após fazer alguns procedimento, faço uma chamada para um arquivo montaRel.sql no qual gera outro arquivo (arquivo.txt)

como faço para na hora de gerar o arquivo.txt o nome receba a data que foi digitada na tela ex.: 102009_arquivo.txt

faço a chamada da seguinte maneira:

Selecionar tudo

Comando := 'PLUS80W -s ' || conexao || ' @montaRel.sql ';
HOST(Comando);
teria como passar a data por parâmetro ???


nome do arquivo atualmente e gerado assim :

Selecionar tudo

SPOOL   arquivo.txt

OBS: isso fica dentro do montaRel.sql


alguém pode me ajudar???
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Selecionar tudo

sqplus usuario/senha@base @seu_script.sql parametro1 parametro2 parametro3
dentro do seu script você trata o parametro como sendo:

Selecionar tudo

&1, &2, &3, etc
Qualquer duvida posta ai
marcelo0906
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 34
Registrado em: Qua, 02 Set 2009 3:29 pm
Localização: São José - SC

beleza!! era isso mesmo!!


mas aproveitando só mais uma coisinha, possivel concatenar esses parâmetros ??


tipo nome do arquivo vai ser arquivo_pedidos_&1.imp

??
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

tenta algo assim:

Selecionar tudo

nmArquivo := arquivo_pedidos_||to_char(&1)||'.imp';
ou

Selecionar tudo

nmArquivo := arquivo_pedidos_||'&1'||'.imp';
não testei isso, mas acho que funciona sim,

=]
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Assim funciona,

Selecionar tudo

nmArquivo := arquivo_pedidos_||'&1'||'.imp';
falows
marcelo0906
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 34
Registrado em: Qua, 02 Set 2009 3:29 pm
Localização: São José - SC

Vlw Galera !!


assim, como falei antes sou novo no forms, hehehe
mas assim preciso pegar a data que foi digitada na tela e extrair apenas o mês e o ano

tipo:

foi digitado '31/10/2009'
no código preciso manipular para que fique 102009 isso vai fazer parte do nome do arquivo, mas não sei como fazer...
hehehe

vlw!!
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Selecionar tudo

to_char('01/10/2009','MMRRRR')

vNmArquivo := 'arquivo_pedidos_'||to_char('&1','MMRRRR')||'.imp'; 
=]
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Se já for do tipo DATE, você faz to_char

se for char, tem que fazer to_date(to_char(

se for dentro do script faz assim:

Selecionar tudo

vNmArquivo := 'arquivo_pedidos_'||to_char(to_date('&1','DD/MM/RRRR'),'MMRRRR')||'.imp'; 

Selecionar tudo

SQL> 
SQL> SELECT
  2   'arquivo_pedidos_'||to_char(to_date('01/10/2010','DD/MM/RRRR'),'MMRRRR')||'.imp'
  3  FROM DUAL
  4  /
 
'ARQUIVO_PEDIDOS_'||TO_CHAR(TO
------------------------------
arquivo_pedidos_102010.imp
 
SQL>
marcelo0906
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 34
Registrado em: Qua, 02 Set 2009 3:29 pm
Localização: São José - SC

Opa!!! funcionou!! vlw!
Responder
  • Informação
  • Quem está online

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