passagem de parâmetros

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
vindalencio
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 140
Registrado em: Qui, 16 Fev 2006 9:42 am
Localização: Curitiba
Vanderlei Indalencio

Caros amigos, necessito passar um parâmetro de um FORMS para um Report, este parâmetro na verdade é o WHERE do select e é bem grande, esta acusando erro de ORA-06502 (erro de numeric ou value), provavelmente seja do tamanho da string, estou usando o TEXT_PARAMETER, já tentei usar o DATA_PARAMETER, mas não adiantou, aguém pode me ajudar??? :o
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,

Uma dica:

Você não poderia passar um parâmetro de tamanho menor, por exemplo um 'X' e, tratar essa informação no Reports, na tua cláusula Where do próprio Reports (caso venha um 'X', monte um select dinâmico)?

Qualquer coisa, manda pra gente.
vindalencio
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 140
Registrado em: Qui, 16 Fev 2006 9:42 am
Localização: Curitiba
Vanderlei Indalencio

O problema que esta clausula WHERE que é passada via paâmetro, é montada na hora dentro do FORMS, pois é um filtro com mais de 5.000 itens
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,

Uma saída então seria:

1) Criar tabela, com uma coluna CLOB, que vai guardar teu where, uma coluna com o usuário e uma coluna com a sessão;
2) Popular o WHERE com o WHERE, usuário que está emitindo o relatório e a sessão (não pode ser temp, pois forms x reports pegam sessões diferentes);
3) Após gerar o relatório (BEFORE Report), deletar a tabela, passando NO WHERE o usuário e a sessão.

Acho que pode ajudar NO teu problema ai.

A melhor solução, era se pudesse pegar esses itens NO reports, através de parâmetros passados pelo forms. Mas como não tem como...

Qualquer coisa, manda pra gente.
vindalencio
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 140
Registrado em: Qui, 16 Fev 2006 9:42 am
Localização: Curitiba
Vanderlei Indalencio

Valeu Amigo, uma ótima idéia...
Vou tentar, qualquer coisa eu falo...

Valeu amigo

Vanderlei Indalencio
Responder
  • Informação